如何高效地检测和修复Struts2框架中的安全漏洞?

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漏洞归纳

如何高效地检测和修复Struts2框架中的安全漏洞?插图1
(图片来源网络,侵删)
漏洞编号 影响版本 漏洞原理 检测方法
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告警,减少误报情况。

如何高效地检测和修复Struts2框架中的安全漏洞?插图3
(图片来源网络,侵删)

5、环境适应性:不同的Web环境下,一些漏洞测试语句可能不一样,需要根据实际情况进行调整。

注意事项

这些工具仅供漏洞自查和授权的渗透测试使用,严禁用于非授权的渗透测试、攻击他人网站或非法用途。

在使用工具时,请确保遵守相关法律法规和道德规范。

小伙伴们,上文介绍struts2漏洞检测的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

如何高效地检测和修复Struts2框架中的安全漏洞?插图5
(图片来源网络,侵删)

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/67655.html

(0)
上一篇 2024年10月4日 10:21
下一篇 2024年10月4日 10:32

相关推荐