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 請求。

相關文章
相關標籤/搜索