任意文件讀取與下載漏洞


1.文件被解析,則是文件包含漏洞
2.顯示源代碼,則是文件查看漏洞
3.提示下載,則是文件下載漏洞

 漏洞利用方式:

利用../../(返回上次目錄)依次猜解,讓漏洞利用變的猥瑣。

Windows:
C:\boot.ini       //查看系統版本
C:\Windows\System32\inetsrv\MetaBase.xml       //IIS配置文件
C:\Windows\repair\sam       //存儲系統初次安裝的密碼
C:\Program Files\mysql\my.ini       //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD       //Mysql root
C:\Windows\php.ini       //php配置信息
C:\Windows\my.ini       //Mysql配置信息
C:\Windows\win.ini       //Windows系統的一個基本系統配置文件

Linux:
/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts //記錄每個訪問計算機用戶的公鑰
/etc/passwd
/etc/shadow
/etc/my.cnf       //mysql配置文件
/etc/httpd/conf/httpd.conf       //apache配置文件
/root/.bash_history       //用戶歷史命令記錄文件
/root/.mysql_history       //mysql歷史命令記錄文件
/proc/mounts       //記錄系統掛載設備
/porc/config.gz       //內核配置文件
/var/lib/mlocate/mlocate.db       //全文件路徑
/porc/self/cmdline       //當前進程的cmdline參數

 詳細利用思路

JSP站點
嘗試下載tomcat-users.xml文件,里面保存了管理Tomcat的賬號密碼,該文件在:Tomcat安裝目錄/conf/tomcat-users.xml

下載該文件之后,就能獲取管理員賬號密碼,然后登陸管理后台,部署帶有木馬文件的war包。

aspx站點
aspx站點一般后台都是SQL Server數據庫,因此利用該漏洞的最簡單的方法是下載網站根目錄下的web.config文件,該文件中一般含有數據庫的用戶名和密碼

asp站點
一般的asp站點都是Access數據庫,而Access數據庫可以直接下載,因此利用該漏洞比較簡便的方法就是直接下載Access數據庫

找到管理員密碼登陸后台,利用后台的上傳功能,上傳shell。

首先目的是找到數據庫文件名以及存放的路徑。找到網站與數據庫操作的動態頁面,動態頁面中一般使用include包含連接數據庫的配置文件。

一般網站的管理后台頁面會包含這個信息,所以可以使用任意文件下載漏洞下載管理后台頁面,例如admin.asp/mamage.asp等。

在這些文件中一般會寫有數據庫文件的路徑以及文件名。再去下載找到數據庫路徑下載

直接下載數據庫文件可能下載不了,因為管理員一般會做限制,禁止直接下載mdb文件,可以使用任意文件下載漏洞來下載數據庫文件。

php站點
php一般是使用MySQL數據庫, 一般MySQL數據庫禁止遠程連接,但是可以使用phpMyAdmin進行管理。

同意,嘗試下載數據庫連接文件,conf/config.php等等,獲取數據庫賬戶密碼之后,如果是root權限,在知道網站絕對路徑的情況下,嘗試直接寫入一句話木馬

下載和讀取的目的都是一樣,獲取服務器的敏感信息
當然還可以有很多用途,反正盡量把所有重要的配置文件以及代碼走一遍流程,盡可能最大化的滲透進去

修復方案
1.過濾../等敏感字符,使用戶在url中不能回溯上級目錄
2.文件下載時判斷輸入的路徑,最好的方法是文件應該在數據庫中進行一一對應,避免通過輸入絕對路徑來獲取文件
3.php.ini配置open_basedir限定文件訪問范圍

 


免責聲明!

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



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