信息泄露(Information Exposure)挖掘及實戰案例全匯總
- 2019 年 10 月 10 日
- 筆記

1、漏洞理解
信息泄露(InformationExposure)漏洞是有意或無意地向未明確授權訪問該信息的行為者披露信息。信息泄露是最為常見和普遍的漏洞之一,漏洞出現的位置、造成的危害有很大的差異性,以下列出的是Acunetix在掃描時列為範圍內的漏洞,同一漏洞評級差距極大。

實際的測試過程中,信息泄露有時作為一種「手段」,有時作為一種「結果「,不一而論。
2、漏洞類型
從場景上可分為業務層敏感數據和系統層數據:
1)業務層數據包括:密碼、信用卡、證書、社會保障號碼、健康信息、個人身份信息及其他業務層面的數據。
2)系統層數據包括:版本號、源代碼、文件名/路徑、系統文件、報錯信息等
從信息處理上可分為信息存儲和傳輸:
1) 存儲的數據:主要討論的攻擊方式,在數據到達終端時獲取的數據;
2) 傳輸的數據:主要的攻擊方式是中間人攻擊方式「MITM」,涉及協 議、加密、證書等。
3、實戰案例:
1)XSS竊取token
補充一個css注入的案例:
https://chaturbate.com/embed/admin/?bgcolor=%7D*%7Bbackground:red&tour=nvfS&disable_sound=0&campaign=iNSGX觸發點在bgcolor處,可插入css:

從而可通過注入css實現xss竊取csrf token。
2)Referer泄露token
如,在論壇回復處通過包含<img>標籤,向攻擊者的服務器發送請求,用戶一旦訪問將泄露Oauth token。或存在跳轉鏈接,可將令牌泄露給第三方站點(通過Referer泄露token是一個經典問題,通常在密碼重置等功能處)。

3)硬編碼:
白盒測試中的典型問題,如代碼中將用戶名口令硬編碼:
private static final java.lang.String CONFIG ="cloudinary://434762629765715:xxx@reverb";
可登錄系統查看敏感信息:

在第三方代碼託管網站(GitHub)或配置文件、源碼中常存在此類問題。
4)IDOR($7560)
https://vine.co/api/users/profiles/<UserId>端點處泄露IP地址/電話號碼/電子郵件等,通過修改id可查看任意用戶數據:

IDOR應該算是用戶敏感信息泄露的最常見的漏洞。
5)Web Cache Deception Attack
使用CDN、反向代理、負載均衡的環境可以嘗試緩存欺騙:

6)源代碼泄露
補充一個文件包含案例,調用文件名處未作校驗,導致讀取配置文件及源碼。典型的文件包含功能:

修改文件名,跨目錄讀取配置文件:

成功讀取配置文件,進一步可讀取所有後台代碼:

7)異常操作泄露日誌文件
使用超長參數值多線程訪問發起長請求導致access.log過大,將一些部分轉儲到響應中,泄露用戶的ip地址,請求時間和url路徑。

測試此類泄露服務器信息的漏洞,常使用的方法是增刪參數值、構造畸形數據、超長數據等使服務器報錯(404/500),報錯信息可能泄露服務器絕對路徑、版本號、代碼層信息、數據庫信息等。
8)其他
信息泄露的案例很多,通常是其他漏洞的危害結果,之前分享過漏洞幾乎都可以和信息泄露掛鈎,當然還有其他姿勢,如APP測試,通過content provider客戶端調試:
adbshell content query –uri content://org.nextcloud/file讀取文件等。總之,信息泄露的類型、表現和挖掘方式豐富,需要多挖多總結。
4、最後
滲透測試實戰系列完結,其他漏洞未涉及到可能在當下的測試環境里確實不太常見。另外計划下面另開一系列,暫時定為「Java代碼審計挖洞系列」、」移動安全測試系列」、「安全建設專題系列」,」實戰安全工具匯總系列」中一個,哪個對你來說更有用?