压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

淺析路徑遍歷漏洞

  路徑遍歷漏洞

  許多的Web應用程序一般會有對服務器的文件讀取查看的功能,大多會用到提交的參數來指明文件名,形如:http://www.nuanyue.com/getfile=image.jgp

  當服務器處理傳送過來的image.jpg文件名后,Web應用程序即會自動添加完整路徑,形如“d://site/images /image.jpg”,將讀取的內容返回給訪問者。

  初看,在只是文件交互的一種簡單的過程,但是由于文件名可以任意更改而服務器支持“~/”,“/..”等特殊符號的目錄回溯,從而使攻擊者越權訪問 或者覆蓋敏感數據,如網站的配置文件、系統的核心文件,這樣的缺陷被命名為路徑遍歷漏洞。在檢查一些常規的Web應用程序時,也常常有發現,只是相對隱蔽 而已。

  發現路徑遍歷漏洞

  路徑遍歷漏洞的發現,主要是對Web應用程序的文件讀取交互的功能塊,進行檢測,面對這樣的讀取方式:

  “http://www.nuanyue.com/test/downfile.jsp?filename=fan.pdf”

  我們可以使用 “../”來作試探,比如提交Url:“getfile=/fan/fan/*53.pdf”,而系統在解析是“d://site/test/pdf /fan/fan/../../*53.pdf”,通過“../”跳轉目錄“/fan”,即“d://site/test/pdf/*53.pdf”,返 回了讀取文件的正常的頁面。

  路徑遍歷漏洞隱藏一般在文件讀取或者展示圖片功能塊這樣的通過參數提交上來的文件名,從這可以看出來過濾交互數據是完全有必要的。惡意攻擊者當然后 會利用對文件的讀取權限進行跨越目錄訪問,比如訪問一些受控制的文件,“../../../../../../../etc/passwd“或者”.. /../../../boot.ini“,當然現在部分網站都有類似Waf的防護設備,只要在數據中會有/etc /boot.ini等文件名出直接進行攔截。

  遍歷路徑攻擊變異

  路徑遍歷漏洞是很常見的,在Web應用程序編寫過程,會有意識的對傳遞過來的參數進行過濾或者直接刪除,存在風險的過濾方式,一般可以采用如下方式進行突破:

  以下是一些繞過的方法,當然在實際運行過程中,可以組合使用。

  1.加密參數傳遞的數據;在Web應用程序對文件名進行加密之后再提交,比如:“downfile.jsp?filename= ZmFuLnBkZg- “,在參數filename用的是Base64加密,而攻擊者要想繞過,只需簡單的將文件名加密后再附加提交即可。所以說,采用一些有規律或者輕易能識別 的加密方式,也是存在風險的。

  2.編碼繞過,嘗試使用不同的編碼轉換進行過濾性的繞過,比如Url編碼,通過對參數進行Url編碼提交,“downfile.jsp?filename= %66%61%6E%2E%70%64%66“來繞過。

  3.目錄限定繞過;在有些Web應用程序是通過限定目錄權限來分離的。當然這樣的方法不值得可取的,攻擊者可以通過某些特殊的符號“~“來繞過。形如這樣的提 交“downfile.jsp?filename=~/../boot”。能過這樣一個符號,就可以直接跳轉到硬盤目錄下了。

  4.繞過文件后綴過濾;一些Web應用程序在讀取文件前,會對提交的文件后綴進行檢測,攻擊者可以在文件名后放一個空字節的編碼,來繞過這樣的文件類型的檢 查。例如:../../../../boot.ini%00.jpg,Web應用程序使用的Api會允許字符串中包含空字符,當實際獲取文件名時,則由系 統的Api會直接截短,而解析為“../../../../boot.ini”。在類Unix的系統中也可以使用Url編碼的換行符,例如:../.. /../etc/passwd%0a.jpg如果文件系統在獲取含有換行符的文件名,會截短為文件名。也可以嘗試%20,例如: ../../../index.jsp%20

  5.繞過來路驗證。在一些Web應用程序中,會有對提交參數的來路進行判斷的方法,而繞過的方法可以嘗試通過在網站留言或者交互的地方提交Url再點擊或者直 接修改Http Referer即可,這主要是原因Http Referer是由客戶端瀏覽器發送的,服務器是無法控制的,而將此變量當作一個值得信任源是錯誤的。

  防范遍歷路徑漏洞

  在防范遍歷路徑漏洞的方法中,最有效的是權限的控制,謹慎的處理向文件系統API傳遞過來的參數路徑。主要是因為大多數的目錄或者文件權限均沒有得 到合理的配置,而Web應用程序對文件的讀取大多依賴于系統本身的API,在參數傳遞的過程,如果沒有得嚴謹的控制,則會出現越權現象的出現。在這種情況 下,Web應用程序可以采取以下防御方法,最好是組合使用。

  1.數據凈化,對網站用戶提交過來的文件名進行硬編碼或者統一編碼,對文件后綴進行白名單控制,對包含了惡意的符號或者空字節進行拒絕。

  2.Web應用程序可以使用chrooted環境訪問包含被訪問文件的目錄,或者使用絕對路徑+參數來控制訪問目錄,使其即使是越權或者跨越目錄也是在指定的目錄下。

  總結

  路徑遍歷漏洞允許惡意攻擊者突破Web應用程序的安全控制,直接訪問攻擊者想要的敏感數據 ,包括配置文件、日志、源代碼等,配合其它漏洞的綜合利用,攻擊者可以輕易的獲取更高的權限,并且這樣的漏洞在發掘上也是很容易的,只要對Web應用程序 的讀寫功能塊直接手工檢測,通過返回的頁面內容來判斷,是很直觀的,利用起來也相對簡單。

 

上一篇:安卓防火墻 PS DroidWall

下一篇:Xss簡單滲透測試