什么是目錄遍歷攻擊及如何防護


前幾日研究某Web項目源代碼,使用的是ThinkPHP框架,根目錄下有個www目錄,存放項目模塊的入口文件。頓時茫然,本人一般直接把入口文件放在web根目錄,而這里卻是www目錄,不知www目錄是何作用,遂問老大,老大回:你查查什么是目錄遍歷攻擊。所以才懂得www目錄之所以存在的目的。。。
layer1

描述

攻擊人員通過目錄便利攻擊可以獲取系統文件及服務器的配置文件等等。一般來說,他們利用服務器API、文件標准權限進行攻擊。嚴格來說,目錄遍歷攻擊並不是一種web漏洞,而是網站設計人員的設計“漏洞”。如果web設計者設計的web內容沒有恰當的訪問控制,允許http遍歷,攻擊者就可以訪問受限的目錄,並可以在web根目錄以外執行命令。

攻擊方法

攻擊者通過訪問根目錄,發送一系列”../”字符來遍歷高層目錄,並且可以執行系統命令,甚至使系統崩潰。

發現漏洞

1、可以利用web漏洞掃描器掃描一下web應用,不僅可以找出漏洞,還會提供解決辦法,另外還可以發現是否存在sql漏洞及其他漏洞。
2、也可以查看web log,如果發現有未授權用戶訪問越級目錄,說明有目錄便利漏洞。

如何防范

防范目錄遍歷攻擊漏洞,最有效的辦法就是權限控制,謹慎處理傳向文件系統API的參數。本人認為最好的防范方法就是組合使用下面兩條:
1、凈化數據:對用戶傳過來的文件名參數進行硬編碼或統一編碼,對文件類型進行白名單控制,對包含惡意字符或者空字符的參數進行拒絕。
2、web應用程序可以使用chrooted環境包含被訪問的web目錄,或者使用絕對路徑+參數來訪問文件目錄,時使其即使越權也在訪問目錄之內。www目錄就是一個chroot應用。

chroot

chroot是在unix系統的一個操作,針對正在運作的軟件進程和它的子進程,改變它外顯的根目錄。一個運行在這個環境下,經由chroot設置根目錄的程序,它不能夠對這個指定根目錄之外的文件進行訪問動作,不能讀取,也不能更改它的內容。chroot這一特殊表達可能指chroot(2)系統調用或chroot(8)前端程序。
由chroot創造出的那個根目錄,叫做“chroot監獄”(chroot jail,或chroot prison)。more chroot使用

參考

淺析路徑遍歷漏洞
目錄遍歷攻擊詳解
目錄遍歷攻擊防護


歡迎轉載、分享,但是請保留原文鏈接。
本文鏈接:http://www.sundabao.com/%E4%BB%80%E4%B9%88%E6%98%AF%E7%9B%AE%E5%BD%95%E9%81%8D%E5%8E%86%E6%94%BB%E5%87%BB%E5%8F%8A%E5%A6%82%E4%BD%95%E9%98%B2%E6%8A%A4/

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM