回归最本质的信息安全

打补丁总是拖延症,雅虎被发现存在Struts2“老旧”高危漏洞

2017年6月7日发布

8,959
3
0

导语:CVE-2017–5638利用代码在网上传播了三周后,白帽子发现雅虎某子域名上还存在该漏洞。

我一直都认为分享精神是可贵的,我过去从很多安全领域大牛的漏洞报告中学到了很多知识,所以我决定将我找到的漏洞经历进行分享,希望能够帮助到一些刚刚开始挖洞的白帽子们。

就像之前爆出来的Struts2高危漏洞(CVE-2017–5638),由于攻击条件比较简单,导致了众多Web应用程序沦陷。

在该漏洞的exp爆出来三周之后,我在渗透过程中发现了这个链接:

https://svdevems01.direct.gq1.yahoo.com/sm/login.jsp

这是雅虎使用的一个登录界面。

1-va0pl6Ayl2bcsEVqm--_hg.png

于是我尝试寻找这个页面的漏洞,直到我找到了这个页面:

https://svdevems01.direct.gq1.yahoo.com/sm/login/loginpagecontentgrabber.do

因为后缀名是.do,所以我认为这个页面正在运行Struts2。我一般会认为后缀名是.do、.action、.go都是使用Struts2的标志。

因为exp已经发布出来了,所以可以很简单的进行利用。不过对于这个目标,我们的exp并没有成功。尽管我确定他一定是存在这个漏洞的,这就意味着目标存在waf或者一些动作阻止我的攻击。

因为目标一定是可以被攻击的,我不可能在这一步停止测试,一定要提交一个可以使用的poc才可以对漏洞进行报告。经过一些搜索之后我在推特上找到了一个exp可以绕过waf,进行攻击。

我找到的这个exp的绕过方法是通过使用”Content-Type”HTTP头部发送一个特定的数据包,这个http头如下:

Content-Type: %{#context[‘com.opensymphony.xwork2.dispatcher.HttpServletResponse’].addHeader(‘X-Ack-Th3g3nt3lman-POC’,4*4)}.multipart/form-data

这个poc是请求web服务器将两个数字进行相乘,当然,你可以将这个操作换成任意代码进行攻击。在上面的例子中,我使用的两个数字是4,并且web服务器返回的值为16,这就说明这个服务器是可以进行攻击的。
下图中,返回头部就会添加‘X-Ack-Th3g3nt3lman-POC: 16’

1-sJXYXfVQWXstwHEfvp-9xQ.png

在我报告这个漏洞三十分钟后,雅虎进行了确认,并且将这一服务进行下线,之后进行了修复。我得到了5500美元的奖励。

文章翻译于https://medium.com/@th3g3nt3l/how-i-got-5500-from-yahoo-for-rce-92fffb7145e6,如若转载,请注明原文地址: http://www.4hou.com/info/news/5246.html

点赞 0
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

xnianq

xnianq

HFUT,信息安全

发私信

发表评论

    longye
    longye 2017-06-09 18:09

    感觉雅虎变成了刷洞厂商,所有严重的老漏洞都没修,等着大家去找

    sanye
    Paddy 2017-06-09 17:33

    感觉雅虎整体被曝出漏洞什么的,安全问题值得重视

    扫地僧
    扫地僧 2017-06-09 16:37

    雅虎早就自暴自弃了吧