悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測


悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測


悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測




該欄目為中科天齊軟件安全中心全新規劃的悟空雲課堂,旨在科普軟件安全相關知識,助力企業有效防範軟件安全漏洞,提升網絡安全防護能力。


本期主題為路徑遍歷漏洞的相關介紹。



路徑遍歷漏洞是什麼?

為了識別位於受限的父目錄下的文件或目錄,軟件使用外部輸入來構建路徑。由於軟件不能正確地過濾路徑中的特殊元素,能夠導致訪問受限目錄之外的位置。


許多文件操作都發生在受限目錄下。攻擊者通過使用特殊元素(例如,“..”、“/”)可到達受限目錄之外的位置,從而獲取系統中其他位置的文件或目錄。例如”../”作為一種常見的特殊字符串,在大多數操作系統中被解釋為當前位置的父目錄,這種使用特殊元素../的路徑遍歷漏洞又被稱為相對路徑遍歷。路徑遍歷還包括使用絕對路徑名(如"/usr/local/bin"),用於訪問非預期的文件,這稱為絕對路徑遍歷。


路徑遍歷漏洞的構成條件有哪些?

1、數據從不可靠來源(包括但不侷限於不可靠用戶的輸入信息或是不可靠用戶可能更改的文件)進入應用程序;

2、該數據被用於構造新的文件目錄,進一步進行訪問或修改。


路徑遍歷漏洞會造成哪些後果?

關鍵詞:執行未經授權的代碼或命令;讀取、修改文件或目錄;崩潰,退出或重啟


1、攻擊者可能創建或覆蓋關鍵文件。例如程序或庫,並用於執行;

2、攻擊者繞過安全機制獲取重要數據。例如,在可訪問的文件路徑末尾附加”../”等路徑並重定向到本無權限的重要數據,這可能允許攻擊者繞過身份驗證;

3、攻擊者可能能夠覆蓋,刪除或損壞關鍵文件。例如程序,庫或重要數據。這可能會阻止軟件完全工作,並且在諸如認證之類的保護機制的情況下,它有可能鎖定軟件的每個用戶。





路徑遍歷漏洞的一些防範和修補建議:

從實現角度,進行輸入驗證:對輸入的信息進行驗證。使用嚴格符合規範的可接受輸入的白名單。拒絕任何不嚴格符合規範的輸入,或將其轉換為具有相應規格的輸入。


路徑遍歷漏洞的樣例(以Java為例):

下面的代碼嘗試檢查給定的輸入路徑,並在驗證安全之後刪除給定的文件。在本例中,如果路徑以字符串“/safe_dir/”開頭,則認為該路徑是安全的。

悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測


然而這樣驗證也是有風險的,攻擊者可以提供這樣的輸入:

悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測

由於有“/safe_dir/”的限定,程序假定path就是可信的。

當攻擊者輸入
/safe_dir/../important.dat,則導致程序誤刪父目錄下的文件important.dat。


拓展閱讀:


CWE-23:Relative Path Traversal:

https://cwe.mitre.org/data/definitions/23.html


CWE-36:Absolute Path Traversal:

https://cwe.mitre.org/data/definitions/36.html

(請使用瀏覽器打開)


往期閱讀:(點擊可跳轉)


什麼是SQL注入漏洞?


URL重定向(跳轉)漏洞


悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測

悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測


悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測

悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測

軟件源代碼安全漏洞檢測修復平臺
軟件安全 網絡安全的最後一道防線
中科天齊公司是在中科院計算技術研究所的大力推動下
以中科院計算所國際領先的自主研究成果
“軟件代碼漏洞檢測修復平臺(Wukong悟空)”為基礎
組建的高新技術企業


悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測

掃碼關注公眾號

掃碼進入小程序

悟空雲課堂 | 第三期:路徑遍歷漏洞的防範與檢測


公眾號:中科天齊

聯繫方式:400-636-0101

網址:www.woocoom.com

長按二維碼關注我們


分享到:


相關文章: