Apache Struts未授权远程代码执行漏洞分析与利用

本文详细分析了CVE-2017-5638 Apache Struts未授权远程代码执行漏洞,提供了具体的利用方法和PoC代码示例,帮助安全人员检测和修复此高危漏洞。

炫耀你的技术 - 未授权远程代码执行

Carrie Roberts //
公告: 本博客中引用的技术和工具可能已过时,不适用于当前情况。然而,这篇博客仍可作为学习机会,并可能更新或整合到现代工具和技术中。

将利用代码保存到文件中,使用Python执行并传递两个命令行参数。第一个命令行参数是要攻击的URL。该URL应指向一个Struts “action"页面,您可以通过Google搜索如"site:example.com inurl:action"来找到。

第二个命令行参数是您想在受攻击系统上运行的操作系统命令。下面给出一个完整示例:

1
python exploit.py https://example.com/some/example.action "ls -l"

如果您是防御方,希望确保所有系统都已打补丁,但您的域名后有多个Web服务器。在这种情况下,您需要针对特定IP地址运行利用代码,如下所示:

1
python exploit.py https://specific.ip.addr.here/some/example.action "ls -l"

在这种情况下,概念验证代码可能会抛出SSL证书错误。进行以下修改(以黄色高亮显示)以支持此用例。

根据您的Web服务器配置,可能不需要包含Host头。 祝您好运,请尽快修复此漏洞…最好是昨天!


您可以从Carrie的课程中学到更多! 查看这里:

  • 攻击仿真工具:Atomic Red Team、CALDERA等
  • PowerShell信息安全应用 提供实时/虚拟和点播课程!
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计