我是如何发现Google服务器上的LFI漏洞的

2015-09-02 471169人围观 ,发现 9 个不明物体 WEB安全漏洞

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

本文将介绍如何利用本地文件包含漏洞读取Google某服务器上的任意文件。漏洞存在于Google的Feedburner中,在提交漏洞后,Google安全团队迅速修复了这一漏洞。

FeedBurner是什么

维基百科上对FeedBurner的介绍:

FeedBurner是一个于2004年在美国芝加哥市成立的网站馈送管理供应商。FeedBurner为博客作者、播客与其他基于网络的内容发布者提供订制的RSS馈送与管理工具,提供予发布者的服务包括流量分析以及一个可供选择的广告系统。2007年Google收购了FeedBurner。

FeedBurner之前就曾是我的目标之一,很久以前我就在这个域名发现过一些xss,我猜想可能还会有有趣的漏洞。之后我在调查后发现,FeedBurner以前有个开放的API,但是Google在2012年关闭了这个API。虽然开发者档案(https://developers.google.com/feedburner/)已经被删除了,我们还是可以用Wayback Machine" (http://archive.org/web/)读取到。
我在文档中发现了这个链接:http://feedburner.google.com/fb/dynamicflares/HelloVisitor.jsp?feedUrl=http://domain.tld/ff.xml(现在没用了)。这个jsp脚本的功能是获取动态FeedFlare单元文件的内容,这些单元文件其实基本上就是些简单的xml文件。有些人可能不太熟悉FeedFlares,这个就像是某种插件,Feed的拥有者可以通过它让读者通过新的方式对发布的内容进行交互,例如:http://www.code4free.com/ff_example.xml

漏洞挖掘

乍看起来,脚本的作用就是抓取XML,作为feedUrl的参数,然后对其进行XSL转换。这个文件的问题就是直接把XML的内容append过去了,没有进行修改甚至没有编码。
我首先尝试寻找XSS漏洞,我提供了一个指向恶意html文件的URL,就找到了xss漏洞。然后我想,说不定会有漏洞能够造成更大影响呢?例如能够从web服务器读取文件。所以我就尝试使用各种payload进行测试,我尝试目录遍历攻击("../../../../../../../etc/passwd"),这是本地文件包含(LFI)攻击中非常典型的手法,没有成功。不过,我随后改变了方法,使用文件URI的方法成功获取到了服务器上的文件。

虽然根据安全策略文件,不是所有的文件都可以读取,但读取系统日志足以证明这个漏洞,而漏洞的严重性依旧不容小视。我将漏洞提交给Google后,安全团队在10分钟后修复了该问题。

视频PoC

*参考来源:ownsecurity,译/Sphinx,文章有修改,转载请注明来自Freebuf黑客与极客(FreeBuf.COM)

这些评论亮了

  • 乐乐 回复
    我就想问问 谷歌给奖金了吗。
    )7( 亮了
  • 张全蛋 回复
    关停的服务和不用的接口,一个删除用了10分钟之久。
    )7( 亮了
发表评论

已有 9 条评论

取消
Loading...

特别推荐

推荐关注

填写个人信息

姓名
电话
邮箱
公司
行业
职位
css.php