批量S2-045利用代码

前言

目前,很多公司已经紧锣旗鼓地修复了漏洞,尽管如此,互联网上还是有大批未修复的目标。

虽然之前吐司上面就有人放出过批量的工具,但是一直没去实践,这里又贴出一点代码,懂的自己修改一下吧!

虽然可能你们已经玩儿丑了,但是我还是要发。

批量S2-045用python 2.7实现,代码共分三部分,比较糙,多指正。 

一、Google抓取URL

目标URL抓取,可能会被Google限制抓取次数,若有IP资源,可以不断更换代理、多线程抓取。

—keywords文件—–>抓取关键词,例如:filetype:action、ext:action

—urser-agent文件—–>随机ua抓取

—urlresult文件—–>存储抓取的url

二、POC漏洞验证

验证是否有s2-045漏洞

—urlresult文件—–>已存储的抓取的url

—detectreslut文件—–>存储验证成功的url

三、远程命令执行

在已发现的具有漏洞的URL基础上,执行远程命令。

代码中执行whoami,有的已验证漏洞URL,远程命令执行会捕获异常或返回html页面,猜测目标structs2并未修复,只是在应用层的检测和响应做出防御。

—detectreslut文件—–>已存储的验证成功的url

—exploitresult文件—–>存储whoami执行结果

结果:

抓取不到300个URL就被Google返回503状态码,可以考虑付费API、更换代理、多进程进一步改进效率。

小范围统计,约200个目标URL,返回50个具有漏洞的URL。

对于Linux系统,即使为非root用户,但结合本地提权漏洞(例如 dirtycown 之类的内核漏洞,对于多说生产环境的server,多数没有被修复),危害甚大。

关于防护:

除了升级到要求的struct2框架版本外,可以考虑暂时设置WAF规则拦截攻击行为。

附:Imperva WAF拦截规则

 

aimorc

我还没有学会写个人说明!

Leave a Reply

Your email address will not be published. Required fields are marked *

微信扫一扫,分享到朋友圈

批量S2-045利用代码
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close