任意文件下載漏洞


一.漏洞介紹

一些網站由於業務需求,往往需要提供文件查看或文件下載功能,但若對用戶查看或下載的文件不做限制,則惡意用戶就能夠查看或下載任意敏感文件,這就是文件查看與下載漏洞。

二.實驗

1.下載一個文件

先進入pikachu,選中一個圖片下載

 

 

 

 

 

 

 

 這時可以成功查看到下載的圖片文件

2.下載上一級文件

 

 輸入../是返回上一級這時,可以成功下載文件

能下載說明網頁存在漏洞,是任意文件下載漏洞

三.任意文件讀取漏洞

有些瀏覽器下載不了文件,因為沒有腳本可執行,它會把文件內容展現出來,這叫任意文件讀取漏洞

四.任意文件下載漏洞是如何產生的

查看文件代碼

 

 

它沒有對filename進行過濾

只允許下載某個文件或只允許下載某個目錄下的文件叫白名單過濾

五.任意文件下載漏洞產生的原因

程序員寫代碼時沒有對../進行過濾和程序員沒有采用白名單的方式嚴格控制下載的文件

六.發現漏洞應該怎樣做

1.下載常規的配置文件,例如: ssh,weblogic,ftp,mysql等相關配置(這些文件含有賬號和密碼)

2.下載各種.log文件,從中尋找一些后台地址,文件上傳點之類的地方,如果運氣好的話會獲得一些前輩們的后門(可以獲取管理員后台或網站地址,還有文件上傳點)

3.下載web業務文件進行白盒審計,利用漏洞進一步攻入服務器。

嘗試讀取/root/.bash_history看自己是否具有root權限。

如果沒有的話。我們只能按部就班的利用../來回跳轉讀取一些.ssh下的配置信息文件,讀取mysql下的.bash_history文件。來查看是否記錄了一些可以利用的相關信息。然后逐個下載我們需要審計的代碼文件,但是下載的時候變得很繁瑣,我們只能嘗試去猜解目錄,然后下載一些中間件的記錄日志進行分析。

七.漏洞修復

1.過濾".",使用戶在url中不能回溯上級目錄

2.正則嚴格判斷用戶輸入參數的格式

3.php.ini配置open_basedir限定文件訪問范圍

 

只允許訪問某個目錄下的文件,不允許跳轉根目錄

打開phpstudy的其他選項菜單的打開配置文件選擇php-ini

 

 

 

 八.怎樣去防御

1.通過代碼限制

2.通過PHP自身的功能來限制目錄


免責聲明!

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



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