Web Hacking 101 中文版 十7、服务端请求伪造

十7、服务端请求伪造

做者:Peter Yaworskiphp

译者:飞龙html

协议:CC BY-NC-SA 4.0git

描述

服务端请求伪造,或者 SSRF,是一种类型,它容许攻击者使用目标服务器来表明攻击者本身执行 HTTP 请求。这和 CSRF 相似,由于两个漏洞都执行了 HTTP 请求,而不被受害者察觉。在 SSRF 中,受害者是漏洞服务器,在 CSRF 中,它是用户的浏览器。github

这里的潜力很是大,包括:后端

  • 信息暴露,其中咱们欺骗服务器来暴露关于自身的信息,在示例 1 中使用 AWS EC2 元数据描述。浏览器

  • XSS,若是咱们让服务器渲染远程 HTML 文件,其中带有 JavaScript。服务器

示例

1. ESEA SSRF 和 AWS 元数据请求

难度:中ide

URL:https://play.esea.net/global/media_preview.php?url=工具

报告连接:http://buer.haus/2016/04/18/esea-server-side-request-forgery-and-querying-aws-meta-data/测试

报告日期:2016.4.18

奖金:$1000

描述:

电子运动娱乐联盟 (ESEA) 是一个电子运动视频竞技比赛的社区,由 ESEA 创建。最近他们启动了一个漏洞奖励计划,Brett Buerhaus 在上面发现了一个不错的 SSRF 漏洞。

使用 Google Dorking,Brett 搜索site:https://play.esea.net/ ext:php。这让 Google 在play.esea.net域中搜索 PHP 文件。查询结果包括https://play.esea.net/global/media_preview.php?url=

看看这个 URL,彷佛 ESEA 从外部站点渲染内容。在寻找 SSRF 的时候,这是一个危险标志。像他描述的那样,Brett 尝试它本身的域名:https://play.esea.net/global/media_preview.php?url=http://ziot.org。可是没有做用,结果,ESEA 寻找图片文件,因此它尝试包含图片的载荷。首先使用 Google 做为域名,以后是它本身的,https://play.esea.net/global/media_preview.php?url=http://ziot.org/1.png

成功了。

如今,这里真实的漏洞是,欺骗服务器渲染其它内容,而不是预设的图片。在他的博文中,Brett 描述了一般的技巧,例如使用空字符(%00),额外的斜杠以及问号来绕过或欺骗后端。在它的例子中,它向 URL 添加了?https://play.esea.net/global/media_preview.php?url=http://ziot.org/?1.png

它所作的就是将前面的文件路径,1.png转换为参数,而且不是实际要渲染的 URL 的一部分。所以,ESEA 渲染了它的页面。换句话说,它绕过了第一个测试的额外检查。

如今,这里你能够尝试执行 XSS 载荷,像他描述的那样。只需建立一个带有 JavaScript 的简单 HTML 页面,让站点渲染它,就这么简单。可是它更进了一步。使用来自 Ben Sadeghipour 的输入(在个人 YouTUbe 频道和 Polyvore RCE 的 Hacking Pro Tips Interview #1 中提到过),它测试了 AWS EC2 实例元数据的查询。

EC2 是 Amazon 的弹性计算云。它们提供了查询自身的功能,经过它们的 IP,来拉取关于实例的元数据。权限很明显限制为实例自身,可是因为 Brett 可以控制服务器从哪里加载内容,它可以使其调用自身并拉取元数据。

EC2 的文档在这里:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2instance-metadata.html。这里是一些你能够抓取的敏感信息。

重要结论

Google Dorking 是一个不错的工具,它能在发现全部类型的可能利用时,节省你的时间。若是你正在寻找 SSRF 漏洞,要留意任何在远程内容中拉取的目标 URL。这里,它的标志是url=

其次,不要仅限于你的第一想法。Brett 彻底可以报告 XSS 载荷,可是这不太深刻。经过深刻挖掘,它就能发现漏洞的真正价值。可是这样作的时候,要当心不要越界。

总结

服务端请求伪造在服务器可悲利用来表明攻击者执行请求时出现。可是,并非全部请求最终都能利用。例如,因为站点容许你提供图片的 URL,但它会复制并在本身站点上使用(就像上面的 ESEA 示例),并不意味站点存在漏洞。发现它们只是第一步,随后你须要确认它们的潜能。对于 ESEA,虽然站点寻找图片文件,它并不验证收到的东西,而且能够用于渲染恶意 XSS,以及对本身的 EC2 元数据执行 HTTP 请求。

相关文章
相关标签/搜索