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

本文讲的是 打补丁总是拖延症,雅虎被发现存在Struts2“老旧”高危漏洞我一直都认为分享精神是可贵的,我过去从很多安全领域大牛的漏洞报告中学到了很多知识,所以我决定将我找到的漏洞经历进行分享,希望能够帮助到一些刚刚开始挖洞的白帽子们。

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

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

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

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

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

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

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’

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

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




原文发布时间为:2017年6月7日
本文作者:xnianq
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值