struts2支持url?action:%{ognl expr}形式指定调用action,这种方式绕过了struts2的默认拦截器对action名称的限制,后续框架默认代码逻辑会对action名称做OGNL解析。所以导致远程代码执行漏洞。
所有的struts2项目,默认都存在这个漏洞,没有幸免。
解决方案:
应用该方案后,攻击者只能读取一些session、application中的内容,无法做危险操作。
原理是,在OGNL执行之前,对语句做判断,看到有不好的代码,就干掉。理论上,开发人员不会自己写OGNL用于操作文件,执行命令等。
Ognl.Ognl类,public static Object parseExpression(String expression)函数添加如下代码:
public static Object parseExpression(String expression) throws OgnlException { // hackedbykxlzx String evalMethod[] = { "Runtime", "new file", "PrintWriter", "new java.io.File", "ProcessBuilder", "Response", "Stream", "exit", "Thread" }; String methodString = null; methodString = expression.toLowerCase(); for (int i = 0; i < evalMethod.length; i++) { if (methodString.indexOf(evalMethod[i].toLowerCase()) > -1) { System.out.println("OGNL证在执行恶意语句" + methodString + "!看到这个消息,请联系安全工程师!!!"); throw new OgnlException("OGNL证在执行恶意语句" + methodString + "!看到这个消息,请联系安全工程师!!!"); } }
try { OgnlParser parser = new OgnlParser(new StringReader(expression)); return parser.topLevelExpression(); } catch (ParseException e) { throw new ExpressionSyntaxException(expression, e); } catch (TokenMgrError e) { throw new ExpressionSyntaxException(expression, e); } }
|
其中”//hackedbykxlzx”部分是添加的内容。
相关推荐
WebLogic远程代码执行漏洞(CVE-2020-14645)是Oracle WebLogic Server中发现的一个严重的安全漏洞。该漏洞允许攻击者通过T3协议利用漏洞进行远程代码执行,从而控制服务器。这一漏洞被评为CVSS(通用漏洞评分系统)...
WebLogic(CVE-2018-2893)安全漏洞预警,oracle官方发布了2018年4月份的关键补丁更新CPU(CriticalPatchUpdate),其中包含一个高危的Weblogic反序列化漏洞(CVE-2018-2628),因该漏洞修补不善导致被绕过。...
**CVE-2018-2893:Oracle WebLogic Server 远程代码执行漏洞详解** Oracle WebLogic Server 是一款由美国Oracle公司推出的Java EE架构应用服务器,它提供了用于开发、集成、部署和管理大型分布式Web应用、网络应用...
「安全架构」移动金融应用安全风险分析及解决方案 - 漏洞预警 漏洞预警 安全人才 零信任 防火墙 Android
在当前的【标题】"人工智能-项目实践-预警-风机叶片开裂故障预警解决方案.zip"中,主要聚焦于利用人工智能技术来实施风机叶片开裂故障的预警系统设计。这一领域结合了先进的机器学习算法和数据分析,旨在提前检测并...
为应对这一挑战,中国汽车行业信息安全协作中心推出了车辆安全漏洞预警与分析平台(CVVD),一个综合性平台,它不仅涵盖了车辆安全领域的核心内容,而且成为了国内首个集信息共享、技术协作和安全服务为一体的汽车...
基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析...
struts-2.5.10.1和struts-2.3.32 官方发布最新版本 lib包,官方发布最新版本 lib包,可预防高危漏洞Apache struts2 S2-045远程代码执行漏洞(CNVD-2017-02474,对应CVE-2017-5638)风险预警
CVE-2019-17571/Apache Log4j 1.2.X存在反序列化远程代码执行漏洞 漏洞预警参考链接: 1. 漏洞描述 Apache Log4j是美国阿帕奇(Apache)软件基金会的一款基于Java的开源日志记录工具.Apache Log4j 1.2.X系列版本中...
阿里巴巴发布关于Fastjson安全公告,在1.2.80及以下版本中存在反序列化风险。Fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到...
2. 网络安全监测预警关键技术:该解决方案的核心技术包括实时监控、异构离散告警融合、安全威胁审计溯源和网络拓扑自动分析。安全保护策略和软件版本的自动核查技术确保了电力工控软件和设备的安全性。异常行为动态...
漏洞预警是保障这一领域安全的重要环节,旨在提前发现并预防潜在的安全威胁,避免数据泄露、系统瘫痪等严重后果。 端点安全是信息安全的基石,它关注的是网络中的各个终端设备,如员工的工作站、移动设备或物联网...
### HP-iLO2远程管理卡知识点详述 #### iLO2远程管理卡简介 ##### iLO2的概念 iLO(Integrated Lights-Out)是HP(现HPE)...无论是对于IT专业人士还是企业,iLO2都提供了高效、安全且易于使用的远程管理解决方案。
担保公司担保风险预警机制-安全管理-行业安全-其它行业.docx
【森林防火监测预警解决方案2021】 森林防火是一项至关重要的任务,对于保护生态环境和人民生命财产安全具有深远意义。随着信息化技术的发展,构建森林防火信息化体系已成为提升防火能力的关键。2021年的森林防火...
在标签"行业分类-设备装置"的提示下,我们可以推测这个压缩包内的“远程无人环境下的监控和执行方法及其监控和执行平台.pdf”文档可能会详细介绍具体的设备装置,如传感器类型...,形成完整的远程监控和执行解决方案...
校园安全预警机制-6页.pdf
《危化品企业安全生产风险监测预警平台解决方案》的文档主要阐述了如何构建一套全面的危险化学品安全生产风险监测预警体系,以提升对重大安全风险的防控能力和应对效率。该方案的目标是构建一个从企业到国家级的多...
Oracle发布严重安全漏洞预警.pdf