首页 > 代码库 > 记一次struts漏洞利用直播

记一次struts漏洞利用直播

写这篇直播文章之前声明一下,我不是hacker。至于漏洞利用更不是我的强项。漏洞利用只是我的一个爱好。呵呵---怎么敲出来之后感觉有些zb,不管了。
最近一个新的高危漏洞(struts2)被公布,看到群里有人上传了一个poc随即立马取消,众小hacker纷纷唾沫横飞,其实完全不必,网上早已已经有人贡献了poc的源代码,python版。于是,嘿嘿!研究python的我自然也拿到了。
什么是struts2?
下面借百科里的术语:
【Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。】
并不是所有的网站都采用struts2框架。所以如何知道一个网站是否采用了struts2框架呢?其实也简单,爬站即可,url里头如.action或者.do后缀的就是了。
不过! 本人用的是现成的,即乌云没提交的,且这些网站也未修复该漏洞。所以呢!接下来就开始抽取其中的一个网站做示范.

打开我的xx-net,上google搜索存在该漏洞的网站
技术分享

哟!运气不错,就随便选择了一个某签证相关的机构,看似国有单位,不管了,就拿它做示范吧。
接下来打开我的crt.使用linux下的curl指令获取请求头信息

技术分享

可以看到该站点使用了apache,正好又是采用了struts2框架。

将头部信息写入临时文件.现在开始尝试使用我的python poc进行命令注入。捏把汗先。。。技术分享

技术分享


我的god!权限还挺大!知道的人一看就知道我用了netstat指令,呵呵技术分享。接下再使用一个高权限指令进行注入测试。

中间同事让我开账号,暂停了一下,继续使用高权限指令注入。
技术分享


不忍直视!当前目录D:\tomcatwu\bin .箭头所指的几个批处理应该就是网站启停的服务。
接下来只需要执行这个停止的批处理,那么该机构的网站肯定挂掉,无法访问。甚至再进一步做挂马操作,那么该网站沦为肉鸡也是分分钟的事儿!。。。
点到为止!不可深入,后果自负,所以不展示本人的python poc,本文只供参考。据说全世界超过7成网站身受该漏洞影响,最开始乌云没有倒下之前,众黑客,不管大的,小的,都有提交该漏洞。自乌云覆灭后出来一个补天,如今补天也在加班加点审批该漏洞报告。

本文出自 “青砖玉瓦” 博客,谢绝转载!

记一次struts漏洞利用直播