Strust2 远程代码执行漏洞[s2-005]

漏洞复现环境搭建请参考

http://t.csdnimg.cn/rZ34p

kali切换jdk版本请参考

Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客

漏洞原理

Strust2会将http的每个参数名解析成为OGNL语句执行,OGNL表达式通过#来访问Struts的对象,并且通过过滤#来防止安全问题,在漏洞S2-003中攻击者可以通过unicode编码或者8进制编码绕过#的检测,漏洞S2-003的修复方法是禁止静态方法调用和类方法执行,而漏洞S2-005可以通过OGNL表达式将漏洞S2-003修复方法的安全模式关闭,从而绕过漏洞S2-003的修复方法

漏洞版本

Struts 2.0.0 - 2.1.8.1

漏洞验证

(1)访问8080端口,出现明显struts框架特征

(2)liqun进行漏扫,漏洞存在,进行s2-005复现操作

(3)或者访问/struts/webconsole.html页面是否存在

/struts/webconsole.html

(4)再者通过添加参数actionerrors进行判断

利用方法:如原始 URL 为 https://threathunter.org/则检测所用的 URL 为
https://threathunter.org/?actionErrors=1111

如果返回的页面出现异常,则可以认定为目标是基于 Struts2 构建的。异常包括但不限于以下几种现象:
1、 页面直接出现 404 或者 500 等错误。
2、 页面上输出了与业务有关错误消息,或者 1111 被回显到了页面上。
3、 页面的内容结构发生了明显的改变。
4、 页面发生了重定向。

漏洞利用

(1)Liqun工具实现远程命令执行

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值