第87篇:Struts2框架全版本漏洞检测工具,原创发布(漏洞检测而非漏洞利用)...

de0505d2c2bfbd9471e88eaedf12c9c0.png

 Part1 前言 

大家好,我是ABC_123。在2016年时,很多Java应用网站都是基于Struts2框架开发的,因而Struts2的各个版本的漏洞非常多,研发工具的初衷就是为了方便安全测试人员快速寻找Struts2漏洞。在后期更新过程中,ABC_123尽可能把这款工具写得简单易用,哪怕对Struts2漏洞完全不懂的新手,也能快速帮助企业找到Struts2漏洞并进行修复

注:此前该工具一直在内部流传从未公开,但在一两年前其它公众号博主、博客等已经把工具提供下载了。很多朋友怕公开版本存在安全性问题,希望我发布一个官方版本,想想我还是在github上发布原版下载吧,大家可以作为一个漏洞研究工具,放心使用。文末有下载地址

 Part2 程序介绍 

  • 程序的亮点

漏洞检测准确:对于Struts2漏洞的检测,极少会出现误报的情况。在过去8年里,ABC_123根据网友的反馈,在不断修复bug的同时,对Struts2漏洞的检测逻辑调整了上百次

检测语句不同:每个漏洞检测语句都经过ABC_123的调整和改造,尽可能规避触发WAF告警;能用一条漏洞检测语句,绝对不用两条,尽可能一步到位。

程序体积较小:ABC_123对此程序的代码做了极大优化,最终程序大小仅有100k左右。

  • 程序的简介

1、点击“检测漏洞”,程序会自动检测该URL是否存在S2-001、S2-005、S2-009、S2-013、S2-016、S2-017、S2-019、S2-020/021、S2-032、S2-037、DevMode、S2-045/046、S2-052、S2-048、S2-053、S2-057、S2-061、S2-062、Struts2专属的log4j2等十余种漏洞。

2、“批量验证”,(为防止批量geshell,公开发布版本中不带有此功能)。

3、S2-020、S2-021仅提供漏洞扫描功能,因漏洞利用exp很大几率造成网站访问异常,本程序暂不提供。

4、对于需要登录的页面,请勾选“设置全局Cookie值”,并填好相应的Cookie,程序每次发包都会带上Cookie。

5、作者ABC_123对不同版本的Struts2漏洞测试语句做了大量修改,执行命令、上传功能已经能通用。

6、支持GET、POST、UPLOAD三种请求方法,您可以自由选择(UPLOAD为Multi-Part方式提交)。

7、部分漏洞测试支持UTF-8、GB2312、GBK编码转换。

8、每次操作都启用一个线程,防止操作界面卡死。

9、程序不再更新绕waf功能,因为一旦更新绕waf功能,工具流传开,将会很快失效。

55ef7119a32132b2baaedff4c21bea3e.png

  • 常见的Struts2漏洞总结

根据ABC_123过去对Struts2漏洞的研究及挖掘经验,给出如下总结,仅供大家参考。

常见漏洞编号:S2-005、S2-016、S2-017、S2-045、S2-046、S2-057、S2-调试模式、S2的Log4j2等,这些是比较常见的漏洞(Struts2调试模式下的漏洞,在最近几年官方是不收录的,因而没有补丁)。

少见的漏洞:S2-001、S2-009、S2-019、S2-032、S2-037等,这些偶尔会遇到。

难以利用的漏洞:S2-020、S2-021也比较常见,但是利用很困难,getshell的结果大概率会造成网站崩溃,所以本程序不提供相关漏洞的利用。

极少见的漏洞:S2-013、S2-048、S2-052、S2-053、S2-061、S2-062、S2-066等。这些漏洞利用条件太过苛刻,在实战中基本上不会遇到,在结合代码审计的情况下可以发挥作用。


  • 工具的使用技巧

如果遇到程序检测到Struts2-045/S2-046代码执行漏洞,却没办法执行命令或者上传文件的情况,请手工对漏洞编号进行选择。由于目标网站环境问题,Struts2漏洞在不同的Web环境下,一些漏洞测试语句不一样,所以需要切换到不同的利用模式。

809f094d3664c98a525a43151b7a6ec7.png

581aab503f0da5549b3e3bdb81df1733.png

Struts2框架下的Log4j2漏洞检测与其它框架不同,需要特殊构造的检测语句。想要使用该工具检测Struts2的log4j2漏洞,需要手工修改DNSLog的地址,如果您不修改默认的DNSLog地址,程序将会跳过对Log4j2漏洞的扫描。

bf27fbe04fed8cd8c20f396b8e1a321b.png

  • 工具的其它流传版本

目前大家手中比较多的版本就是下图展示的17-6版本,于2017年5月更新;还有一个半成品的程序版本是18.09,这个版本bug较多,不建议使用。

a6cf8573d644c27d9ae1ab034aa06a6a.png

对于Struts2漏洞,部分情况下没有回显,因此需要通过延迟判断方法进行判断。

c4cc8a3f53115fa809c3be10ca42b71b.png

 Part3 总结 

1.  大家对程序有什么建议,或者发现了程序的bug,欢迎在后台或者在github上给我留言。

2.  关注公众号“希潭实验室”后,回复数字“2222”,即可得到此工具的下载地址。

d391f51c65d4aa07a12f57a517e00aa9.png

公众号专注于网络安全技术分享,包括APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,每周一篇,99%原创,敬请关注。

Contact me: 0day123abc#gmail.com

(replace # with @)

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Struts2漏洞检查工具2019版 警告: 本工具为漏洞自查工具,请勿非法攻击他人网站! ==漏洞编号==============影响版本=========================官方公告==========================================影响范围===== S2-057 CVE-2018-11776 Struts 2.3 to 2.3.34,Struts 2.5 to 2.5.16 https://cwiki.apache.org/confluence/display/WW/S2-057 影响范围非常小 S2-048 CVE-2017-9791 Struts 2.3.X http://127.0.0.1:8090/struts2-showcase/integration/saveGangster.action 影响范围非常小 S2-046 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10 http://struts.apache.org/docs/s2-046.html 和S2-045一样 S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10 http://struts.apache.org/docs/s2-045.html 影响范围较大 S2-037 CVE-2016-4438 Struts 2.3.20-2.3.28.1 http://struts.apache.org/docs/s2-037.html 影响范围小 S2-032 CVE-2016-3081 Struts 2.3.18-2.3.28 http://struts.apache.org/release/2.3.x/docs/s2-032.html 影响范围小 S2-020 CVE-2014-0094 Struts 2.0.0-2.3.16 http://struts.apache.org/release/2.3.x/docs/s2-020.html 影响范围小 S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1 http://struts.apache.org/release/2.3.x/docs/s2-019.html 影响范围一般 S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15 http://struts.apache.org/release/2.3.x/docs/s2-016.html 影响范围非常大 S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14 http://struts.apache.org/release/2.3.x/docs/s2-013.html 未添加,S2-016范围内 S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1 http://struts.apache.org/release/2.3.x/docs/s2-009.html 未添加,S2-016范围内 S2-005 CVE-2010-1870 Struts 2.0.0-2.1.8.1 http://struts.apache.org/release/2.2.x/docs/s2-005.html 未添加,S2-016范围内
struts2版本漏洞检测工具19.02目前是一款比较常用的用于检测struts2框架存在的漏洞的工具。该工具由abc123团队开发,版本为19.02。 struts2是一个流行的Java Web应用程序开发框架,但是它在过去的几年中出现了多个安漏洞,这些漏洞可能导致恶意用户通过各种方式攻击应用程序。为了帮助开发人员及时发现并修复这些漏洞,abc123团队开发了这个漏洞检测工具。 该工具可以对struts2框架进行版本漏洞检测,不受版本限制。它通过扫描应用程序的源代码和配置文件,识别其中存在的漏洞点,并给出相应的警报和建议。工具使用规则库和漏洞数据库来判断应用程序是否存在风险,以及应该如何解决这些问题。 这个工具的主要功能包括但不限于:扫描struts2漏洞、识别攻击点、提供修复建议、生成漏洞报告等。它可以进行自动化的漏洞扫描,帮助开发人员节省很多时间和精力。 在使用这个工具时,用户只需要提供目标应用程序的源代码和配置文件,并按照工具提供的指导和建议进行修复即可。虽然它不能完保证应用程序的安性,但它可以为开发人员提供早期发现和修复漏洞的机会,以减少应用程序遭受攻击的风险。 总的来说,struts2版本漏洞检测工具19.02是由abc123团队开发的一款帮助开发人员发现和修复struts2框架漏洞的实用工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希潭实验室

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值