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”部分是添加的内容。
相关推荐
「安全架构」移动金融应用安全风险分析及解决方案 - 漏洞预警 漏洞预警 安全人才 零信任 防火墙 Android
攻击者可以在未授权的情况下将 payload 封装在 T3 协议中,通过对 T3 协议中的 payload 进行反序列化,从而实现对存在漏洞的 WebLogic 组件进行远程攻击,执行任意代码并可获取目标系统的所有权限。漏洞危害通过该...
Struts-2.3.32 版本所需jar包,可以解决Struts s2-045远程代码执行漏洞预警(CVE-2017-5638)
基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析预警系统-后端.zip基于深度学习的时间序列分析...
WebLogic(CVE-2018-2893)安全漏洞预警,oracle官方发布了2018年4月份的关键补丁更新CPU(CriticalPatchUpdate),其中包含一个高危的Weblogic反序列化漏洞(CVE-2018-2628),因该漏洞修补不善导致被绕过。...
探究构建科学的农产品质量安全信息预警机制-论文.zip
阿里巴巴发布关于Fastjson安全公告,在1.2.80及以下版本中存在反序列化风险。Fastjson是阿里巴巴的开源JSON解析库,可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到...
包含struts 2 中2.522版本所有的jar包,修复了关于Apache Struts远程代码执行漏洞(S2-059、CVE-2019-0230)的安全预警!
人工智能-项目实践-预警-风机叶片开裂故障预警解决方案 风机叶片开裂故障预警Top4解决方案。
担保公司担保风险预警机制-安全管理-行业安全-其它行业.docx
自然灾害预警信息---颜色、等级划分及图标.doc
校园安全预警机制-6页.pdf
用图表法建立“五全”管理的预警机制-安全管理-行业安全-电力安全.docx
「勒索软件」电商企业的漏洞挖掘大全 - 安全运营 漏洞预警 安全架构 安全开发 安全漏洞 安全管理
struts-2.5.10.1和struts-2.3.32 官方发布最新版本 lib包,官方发布最新版本 lib包,可预防高危漏洞Apache struts2 S2-045远程代码执行漏洞(CNVD-2017-02474,对应CVE-2017-5638)风险预警
消防灭火安全预警措施-8页.pdf
Oracle发布严重安全漏洞预警.pdf
「工控安全」爱康集团信息安全建设 - 漏洞预警 端点安全 安全资讯 等级保护 数据安全 安全实践
自然灾害预警信息---颜色、等级划分及图标[文].doc
「安全测试」智能设备漏洞挖掘中几个突破点 - 漏洞预警 解决方案 APT 云安全 安全测试 企业安全