Struts2 s2-059,CVE-2019-0230漏洞验证
thinkoaa
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
Struts2 s2-059,CVE-2019-0230漏洞验证
1. 环境搭建
Struts-2.3.37+apache-tomcat-8.5.34
PS:漏洞影响范围:Apache Struts 2.0.0 - 2.5.20
2. 验证过程
2.1 以Struts官方代码为例,稍作修改
2.2 结果如图
传入普通文本:
传入ognl表达式%{9*9},需要url转码:
此处以<s:a 标签的id值中插入ognl表达式为例,其他标签可能执行不成功。
3. 利用条件
漏洞利用前置条件,需要特定标签的相关属性存在表达式%{xxxxx},且xxxx可控并未做安全验证。
3.1 Struts2标签的属性值可执行OGNL表达式
3.2 Struts2标签的属性值可被外部输入修改
3.3 Struts2标签的属性值未经安全验证
4. 修复建议
4.1 升级到Struts 2.5.22或更高版本。
4.2 或者开启ONGL表达式注入保护措施
5. 总结
如果表达式中的值可被攻击者控制,攻击者可以通过传入危险的OGNL表达式实现远程代码执行,不过该漏洞利用条件过于苛刻,危害为高危,但实际操作起来不容易造成大规模利用。
针对较新的版本,还没有太好的bypass方式,框架本身也会过滤掉敏感操作,此漏洞利用条件苛刻,无法大规模利用,及时安装软件更新即可,或按照官方说的修改配置。
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 thinkoaa 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏


Nessus常用扫描分享
2024-09-08
反连助手,收集、探测互联网IP,本地端口映射到互联网IP指定的端口!
2024-09-08
deadpool代理池工具,可从hunter、quake、fofa等网络空间测绘平台取socks5代理,或本地导入socks5代理,轮询使用代理进行转发
2024-08-26
文章目录