轉載於https://mp.weixin.qq.com/s/hDcGRTZxUh7W7KAc7yeGJA
0x01 任意文件讀取漏洞是怎么產生的
一些網站由於業務需求,可能提供文件查看或下載功能。如果對用戶查看或下載的文件不做限制,則惡意用戶能夠查看或下載任意文件,可以是源代碼文件、敏感文件等。
0x02 任意文件讀取下載漏洞的危害
1、下載服務器任意文件,如腳本代碼、服務及系統配置文件等;
2、可用得到的代碼進一步代碼審計,得到更多可利用漏洞。
0x03 任意文件讀取下載漏洞常見出現點
1、存在讀取文件的功能點
2、存在下載文件的功能點
3、提供文件查看或下載功能點
0x04 任意文件讀取常用敏感文件路徑
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配置信息)
……
Linux:
/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_rsa.keystore
/root/.ssh/known_hosts
/etc/passwd (主機賬號文件)
/etc/shadow (主機密碼文件)
/etc/my.cnf (Mysql配置文件)
/etc/httpd/conf/httpd.conf (apache配置文件)
/root/.bash_history (root操作命令歷史記錄)
/root/.mysql_history (mysql命令歷史記錄)
/proc/self/fd/fd[0-9]*(文件標識符)
/proc/mounts
/proc/config.gz
……
0x05 任意文件讀取常見參數名
&RealPath=
&FilePath=
&file=
&filename=
&Path=
&path=
&inputFile=
&url=
&urls=
&Lang=
&dis=
&data=
&readfile=
&filep=
&src=
&menu=
&META-INF=
&WEB-INF=
……
0x06 任意文件讀取下載漏洞利用案例
點擊下載圖片,發現文件內容回顯,請求如下:
替換讀取文件,使用../來跳躍目錄讀取Passwd敏感文件:
0x07修復方案:
1、過濾.(點),使用戶在url中不能回溯上級目錄
2、正則嚴格判斷用戶輸入參數的格式
3、php.ini配置open_basedir限定文件訪問范圍