关于WordPress xmlrpc.php Pingback缺陷与SSRF攻击

技术文章 作者:MCbang 2014-06-15 02:40:34 阅读:85
通过Pingback实现的服务器端请求伪造 (Server-side request forgery,SSRF)和远程端口扫描。 此漏洞是由Wordpress安全团队修复的。
追查下去,发现这个WordPress漏洞至少几个月前就在被大范围使用,2013-01-25被上报后,在最新发布的3.5.1版本修补了:https://bugzilla.redhat.com/show_bug.cgi?id=904120

Acunetix WVS团队在去年12月的一篇博文就对这个漏洞进行了描述,很清晰:http://www.acunetix.com/blog/web-security-zone/wordpress-pingback-vulnerability/
这篇博文中给出了如何证明这个漏洞是否存在的截图,我用fiddler的Composer组件进行了相关模拟,不过测试不完备,没达到我希望看到的效果,为了更好的了解为什么是这样测试,我查到了WordPress XML-RPC Pingback API:http://codex.wordpress.org/XML-RPC_Pingback_API,而且还有一份专门描述Pingback 1.0标准的文档:http://www.hixie.ch/specs/pingback/pingback#TOC3,大家可以对照了解,弄清楚请求与响应的数据格式,这样能更清晰了解这个漏洞。
还有一个ruby写的POC,过一遍源码就更清晰了,我没实际运行,也许有bugs:https://github.com/FireFart/WordpressPingbackPortScanner
至于衍生出来的SSRF攻击,Alexander的papers不错:
https://docs.google.com/document/d/1v1TkWZtrhzRLy0bYXBcdLUedXGb9njTNIJXa3u9akHM/edit#
http://www.slideshare.net/d0znpp/ssrf-attacks-and-sockets-smorgasbord-of-vulnerabilities
简单描述下SSRF:利用这个漏洞,可以从漏洞服务器发出伪造的请求到目标服务上,目标服务可以是内网的各类服务,可以使用不一样的协议,并根据回显来判断攻击是否成功(如果是盲打的话,就不用回显了:))。
回头想下,这次我的SAE云豆被刷透(负值),SAE作为云服务厂商是否有责任呢?几十元RMB就这样无声无息没了,虽然漏洞是WordPress的,但是SAE没足够好的默认预警服务或安全服务(注意我说的是:默认)与应急响应服务,需要承担责任,我估计不仅是我,N多在SAE上的WordPress可能都被这样攻击了,这类攻击我初步判断不是针对性的,而是大规模的攻击,SAE暴露出来的日志无法知道攻击具体payload(POST请求),大家共同注意吧。
如果SAE技术同学看到这篇文章,联系我?http://weibo.com/evilcos。
更新下:知道创宇安全研究团队在1月初就跟进了这个问题,不过没引起足够重视,这次我自己被搞了,也就更加重视了:(
继续更新:团长给了我这次大规模攻击的样本payload,会让目标服务器请求那个巨大的iso,直接导致拒绝服务:
POST http://xxxx.com/xmlrpc.php HTTP/1.0
Host: xxxx.com
Connection: close
User-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)
Content-Type: text/xml
Content-Length: 384



pingback.ping

...暂时不公开...

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

关注数据与安全,洞悉企业级服务市场:http://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

图库
关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接