Part1 前言
大家好,我是ABC_123。在8年前(2016年5月)使用netbeans依靠java语言编写了Struts2漏洞检测工具,期间一直不断更新,更新时间已达8年之久。现在ABC_123对于此工具的更新,更多是一种情怀,也是一种研究性实验性工作。目前Struts2框架在外网还能见到一些,在内网环境中仍然会遇到很多,于是它更多地成为了一个内网横向的漏洞选择。最近根据几个网友的反馈,对工具进行了几个重要更新,文末有漏洞检测工具的下载。
Part2 技术研究过程
-
新增自定义HTTP请求头功能
当前网站的鉴权方式除了Cookie,还存在JWT鉴权、HTTP Basic验证、HTTP请求头校验、Referer校验等等。因此,我重新封装了HTTP发包模块,使工具支持自定义多行HTTP请求头,程序会在每次发送请求上自动加上。
-
优化S2框架的Log4j2漏洞的检测
此版本对功能的检测语句进行了更新,提升S2框架下Log4j2漏洞检测的准确度。我原本想做成添加dnslog配置文件进行自动化检测,但是考虑到现在的dnslog服务都不太稳定,而且dnslog经常容易被安全设备加入规则,所以放弃了自动化检测的想法,还是需要靠大家手工填写dnslog进行漏洞判断。
-
更正S2-048漏洞的检测逻辑
之前的S2-048漏洞的检测流程,还是有一些不完善的地方,所以我对检测语句进行了优化。
-
新增S2-052漏洞利用
S2-052漏洞在代码审计或者一些情况下还是可以遇到的,只是这种漏洞基本上只能结合人工进行利用,工具很难实现自动化。所以我在这里提供了EXP生成功能,方便大家使用,对于S2-052漏洞的利用,请注意Content-Type: application/xml的部分,判断漏洞建议可以先ping dnslog一下,判断漏洞是否存在。
-
新增S2-053漏洞利用
S2-053这个漏洞基本上很难实现自动化的检测与利用,在代码审计或者一些特殊情况下可以派上用场。所以我在这里也是提供了EXP生成功能,方便大家日常的渗透测试。
此版本Struts2漏洞检测工具的下载地址
https://github.com/abc123info/Struts2VulsScanTools
https://github.com/abc123info/Struts2VulsScanTools/releases/tag/v19.32
Part3 总结
1. 技术总是不断革新的,工具也需要跟着更新。
2. 对于工具有什么建议,欢迎公众号后台给我反馈或者在github上给我留言。
原文始发于微信公众号(希潭实验室):第98篇:Struts2全版本漏洞检测工具19.32版本更新
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论