Struts2漏洞检测工具
工具名称 | 主要功能 | 支持的漏洞 | 使用说明 |
Struts2全版本漏洞检测工具 | 自动检测URL是否存在S2系列漏洞,如S2-001、S2-005等 | S2-001, S2-005, S2-009, S2-013, S2-016, S2-019, S2-020/021, S2-032, S2-037, DevMode, S2-045/046, S2-052, S2-048, S2-053, S2-057, S2-061, log4j2相关漏洞 | 点击“检测漏洞”按钮,程序会自动检测,对于需要登录的页面,请勾选“设置全局Cookie值”,并填好相应的Cookie。 |
Struts2-Scan | 基于Python编写的开源工具,帮助用户检测Apache Struts2框架中的多种安全漏洞 | S2-001, S2-003, S2-005, S2-007, S2-008, S2-009, S2-012, S2-013, S2-015, S2-016, S2-019, S2-029, S2-032, S2-033, S2-037, S2-045, S2-046, S2-048, S2-052, S2-053, S2-devMode, S2-057 | 支持单个URL和批量URL检测,通过命令行参数指定URL、漏洞名称等。python3 Struts2Scan.py -u http://example.com 。 |
常见Struts2漏洞归纳
(图片来源网络,侵删)
漏洞编号 | 影响版本 | 漏洞原理 | 检测方法 |
S2-001 | Struts 2.0.0-2.0.8 | 用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析,然后重新填充到对应的表单数据中,导致命令执行漏洞 | 访问靶机,在账号密码输入框中输入%{‘123’} ,若返回123则存在漏洞。 |
S2-005 | Struts 2.0.0-2.1.8.1 | GET请求发送数据,支持任意命令执行 | 构建无回显POC,查看文件。 |
S2-007 | Struts 2.0.0-2.2.3 | POST请求发送数据,支持任意命令执行和反弹shell | 访问靶机,测试漏洞,构建第一个和第二个POC。 |
S2-008 | Struts 2.1.0-2.3.1 | GET请求发送数据,支持任意命令执行和反弹shell | 访问靶机,构建POC。 |
S2-009 | Struts 2.0.0-2.3.1.1 | GET请求发送数据,URL后面需要请求参数名,支持任意命令执行和反弹shell | 访问靶机,构建POC1和POC2。 |
S2-012 | Struts Showcase App 2.0.0-2.3.13 | GET请求发送数据,参数直接添加到URL后面,支持任意命令执行和反弹shell | 访问靶机,验证漏洞,构建POC。 |
S2-013/S2-014 | Struts 2.0.0-2.3.14.1 | GET请求发送数据,支持获取WEB路径,任意命令执行,反弹shell和文件上传 | 访问靶机,构建POC,执行扫描和命令执行。 |
S2-015 | Struts 2.0.0-2.3.14.2 | GET请求发送数据,支持任意命令执行和反弹shell | 访问靶机,构建POC。 |
S2-016 | Struts 2.0.0-2.3.15 | GET请求发送数据,支持获取WEB路径,任意命令执行,反弹shell和文件上传 | 访问靶机,构建POC,执行扫描和命令执行。 |
S2-019 | Struts 2.0.0-2.3.15.1 | GET请求发送数据,支持获取WEB路径,任意命令执行,反弹shell和文件上传 | 访问靶机,构建POC。 |
S2-029 | Struts 2.0.0-2.3.24.1(除了2.3.20.3) | POST请求发送数据,需要参数,支持任意命令执行和反弹shell | 访问靶机,测试漏洞,构建POC。 |
S2-032 | Struts 2.3.20-2.3.28(除了2.3.20.3和2.3.24.3) | GET请求发送数据,支持获取WEB路径,任意命令执行和反弹shell | 访问靶机,构建POC。 |
S2-033 | Struts 2.3.20-2.3.28(除了2.3.20.3和2.3.24.3) | GET请求发送数据,支持任意命令执行和反弹shell | 访问靶机,构建POC。 |
S2-037 | Struts 多个版本 | 远程代码执行漏洞 | 使用特定payload进行检测。 |
Struts2漏洞检测技巧
1、使用工具检测:利用上述提到的工具,可以快速检测出常见的Struts2漏洞。
2、手工检测:根据漏洞原理,手动构造特定的请求或参数,观察目标系统的响应情况。
3、注意编码问题:部分漏洞测试支持UTF-8、GB2312、GBK编码转换,确保测试的准确性。
4、避免误报:每个漏洞检测语句都经过调整和改造,尽可能规避触发WAF告警,减少误报情况。
(图片来源网络,侵删)
5、环境适应性:不同的Web环境下,一些漏洞测试语句可能不一样,需要根据实际情况进行调整。
注意事项
这些工具仅供漏洞自查和授权的渗透测试使用,严禁用于非授权的渗透测试、攻击他人网站或非法用途。
在使用工具时,请确保遵守相关法律法规和道德规范。
小伙伴们,上文介绍struts2漏洞检测的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
(图片来源网络,侵删)
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/67655.html