这个是终结部分了。
除了#_memberAccess.allowStaticMethodAccess'是一个关键属性外,'xwork.MethodAccessor.denyMethodExecution’是另一个关键属性,意义如同名字,这个属性决定了是否可以执行方法,只有当这个属性为false时,我们才可以利用ognl自定义变量,调用一些关键的方法 例如FileWriter的append方法。
xwork.MethodAccessor.denyMethodExecution和#_memberAccess.allowStaticMethodAccess'的区别在于#_memberAccess.allowStaticMethodAccess'是一个context中的属性,而xwork.MethodAccessor.denyMethodExecution则是value hashmap中的一项,这就决定了对这个变量的覆盖不同于上一个方法。
如果采用第一种方法去覆盖的话,查看内存中,xwork.MethodAccessor.denyMethodExecution=java.lang.StringXXX大概是个这么个东西
而我们希望的是覆盖完变成
xwork.MethodAccessor.denyMethodExecution=false这样的形式
解决方案:
&(b)(('\43context[\'xwork.MethodAccessor.denyMethodExecution\']\75false')(b))
实际上就是
#context['xwork.MethodAccessor.denyMethodExecution']=false
放到了一个ast的树枝中,注意,要放到第三层,才能保证解析正确
这个是有人给出的解决方案。http://www.tengsu.com/school/top/2011/school_4595_4.html
同样他指出了在xwork 2.1.2.jar中存在bug,大家可以看看他的文章,最终他给出了解决思路,就是在不利用静态方法的情况下,想办法覆盖掉 excludeProperties
同样这个不能采用和第一个一样的方法覆盖,那样只能得到字符串。应采用和第二个类似的方法覆盖掉
我就直接放答案了,大家可以自己试试,这个只有在xwork2.1.2中才必须加上这句,以后版本加了也不算错,不过没什么效果
&('\43c')(('\43_memberAccess.excludeProperties\75@java.util.Collections@EMPTY_SET')(c))
- 大小: 32.3 KB
- 大小: 25.1 KB
分享到:
相关推荐
Struts2远程命令执行漏洞解析 漏洞解析 远程命令 Struts2
Struts2远程代码执行漏洞分析(S2-013)1
Struts终极漏洞利用工具 Powered By 独孤城 Thanks to 峙酿君edwardz
解决S2-057、S2-048、S2-046、S2-045、S2-016、S2-019、S2-037、S2-032远程执行漏洞
升级到2.3.32所用到的jar包: freemarker-2.3.22.jar ognl-3.0.19.jar struts2-convention-plugin-2.3.32.jar struts2-core-2.3.32.jar struts2-spring-plugin-2.3.32.jar xwork-core-2.3.32.jar --来源 ...
Struts2漏洞检查工具,可快速检测struts命令执行漏洞,支持批量导入验证,存在可利用的漏洞后,可远程执行命令及文件上传等操作。方便管理人员了解其危害。
Struts2 S2-029远程代码执行漏洞初探1
struts2 最新漏洞 S2-016、S2-017修补方案 .docx
struts2远程命令执行漏洞环境搭建以及录屏
Struts2是一个基于MVC设计模式的Web...当Struts2开启devMode模式时,将导致严重远程代码执行漏洞。如果WebService启动权限为最高权限时,可远程执行任意命令,包括关机、建立新用户、以及删除服务器上所有文件等等。
Apache Struts2 官方发布了最新的安全公告,披露了一个远程命令执行漏洞(漏洞编号:CVE-2018-11776,官方编号:S2-057),攻击者可利用漏洞实施远程命令执行攻击。特给出struct2.0-2.3.35的修复方案
0、这是一个简单、暴力、治根的补漏方法 1、struts2漏洞s2-045,不升级jar版本的修补方法,已验证
可以扫描Strust2远程执行漏洞 亲测可以使用
《Struts 2.0.0 - Struts 2.3.14.1 URL及A标签远程命令执行漏洞探测 V1.1》 使用说明: 运行EXE程序,输入扫描站点的任意一个URL入口链接地址, 若提示扫描是否包含顶级域名下的所有页面,根据提示输入即可。 ...
2017年7月7日,Apache Struts发布最新的安全公告,Apache Struts2-strus1-plugin插件存在远程代码执行的高危漏洞,漏洞编号为CVE-2017-9791(S2-048),主要受影响的Struts版本为:2.3.x。 攻击者可以构造恶意的字段值...
增加最新的S2-032远程代码执行漏洞,和S2-019很相似。 参考:http://seclab.dbappsecurity.com.cn/?p=924 2015-12-01: 采用scanner读数据流,再也不用担心s16不能执行net user/ipconfig/netstat -an等命令了。 增加...
可远程执行服务器脚本代码 [2] 用户可以构造http://host/struts2-blank/example/X.action?action:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}链接,command ...
Struts2终极漏洞利用工具 Powered By 孤独成 thanks to 峙酿君edwardz http://weibo.com/bingobest http://weibo.com/evilniang 集成获取服务器信息,远程命令执行,多种方式文件上传,反弹shell,文件管理,数据库...