簡介
目錄穿越(也被稱為目錄遍歷)是通過使用../等目錄控制序列或者檔案的絕對路徑來訪問存盤在檔案系統上的任意檔案和目錄,特別是應用程式源代碼、組態檔、重要的系統檔案等,
路徑穿越是網站被惡意人員利用,來得到其無權限訪問的內容,
通常是由于代碼沒有判斷拼接路徑的真實路徑是否合法,最終導致檔案讀取,
一般來講用戶在網站進行瀏覽,所能見到的網頁都是位于網站根目錄下的檔案,根目錄以外的檔案是不允許被未授權訪問的,但是安全方面做得不嚴謹的web程式可能會出現目錄穿越漏洞,惡意人員可以利用這個漏洞來讀取根目錄以外的檔案夾,一旦成功,本不應該暴露的敏感資訊就可能被泄漏給惡意人員,
攻擊payload
1.URL引數
··/..\..;/
2.Nginx off by slash
https://vuln.site.com/files../
3. UNC Bypass
https://localhost/c$/windows/win.ini
4.過濾繞過
- 單次替換,如
..// - URL編碼
- 16位Unicode編碼
- 超長UTF-8編碼
防御
方案一:過濾惡意字符,如..、./、.\等
缺點:黑名單過濾不全的話,很容易被繞過,
方案二:采用白名單方式,只允許讀取特定檔案,若不是特定檔案直接攔截,也可以僅允許純字母或數字字符等,
方案三:按照.分割,讀檔案名引數和檔案格式引數,如果檔案名引數中有..,則攔截
附錄:UNC路徑
- UNC(Universal Naming Convention)
- 為了迎合網路化的趨勢,windows的地址風格(
C:\ABC\def\檔案、\\計算機名\dir\file)向網路地址風格做了一次兼容變換, - 整體形式如:
file://機器的IP地址/目錄/檔案file表示協議型別://后面是機器的網路地址/后面是目錄和檔案名
- 我們訪問網上鄰居所采用的命令列訪問法,實際上應該稱作UNC路徑訪問法,
出處:http://www.cnblogs.com/amyzhu/
本文著作權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/296322.html
標籤:訊息安全
下一篇:勒索病毒典型傳播途徑與預防建議
