信息泄露(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代碼審計挖洞系列」、」移動安全測試系列」、「安全建設專題系列」,」實戰安全工具匯總系列」中一個,哪個對你來說更有用?