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限定文件訪問范圍
