在一個月黑風高的晚上,我看著我的瀏覽器在靜靜發呆,唇角微微一笑,內心其實在狂喜,好開心。
預知后事如何,且繼續往下看。
其實是因為我剛剛利用瀏覽器直接把一個數據庫文件給下載下來了,里面好多小姐姐的QQ號,感覺做了不得了 的事情,才有上述詭異的現象產生。
我使用的是任意文件讀取漏洞,因此下載到了數據。
照例解釋一下原理。
一、原理
大家來回想一下,我們是不是經常下載文件呢?
對,我認為答案必然是肯定的,下載無處不在,網盤下載文件,網站鏈接下載文件等等。
為什么啊?
問題明顯就出現在這里了,很多網站由于需要提供下載的功能,這種功能會帶來很不幸的消息,不管是為了節省成本或者其它的一些未知原因,總之就是代碼里面沒有對這個下載路徑做一些限制,直接通過絕對路徑就可以下載文件,然后黑客就可以利用這個缺陷下載服務器的私密文件,也就是上述我說的小姐姐的聯系方式。
那么具體方式指的的是哪些呢?
比如說是附件/文檔/圖片等等,只要可以被下載到的資源,這些都可以算進去。
好好回想一下,都有哪些常用的就可以明白了。
本文因為環境不方便部署的原因,只做一個基于windows的漏洞復現。
對了很多時候使用一種方式來演示一個任意文件讀取漏洞,這個驗證方式叫做POC。
解釋一下POC是什么。
是Proof of concept的縮寫,在黑客圈是指,觀點驗證程序,運行這個程序可以得出預期的結果,從而驗證出來觀點,正確還是錯誤。
簡單說就是驗證有沒有存在,是一個編寫好的程序。
二、場景
應用的地方就是上述我提到的,獲取聯系方式只是其中一種,主要會有網站后臺登錄密碼等關鍵信息。
我們看一下格式,這是之前講到過的GoogHacking的一篇文章里面的手法,具體的自己翻一下文章。
inurl:"readfile.php?file="
inurl:"download.php?file="
inurl:"read.php?filename="
早期的文章或多或少的提到過,網站一般是部署在windows或者Linux服務器上面,當然了,很多都是在Linux服務器上面,這也就導致讀取路徑有了一些差別,如果想靈活利用,那么這些路徑你需要牢牢記住,下面來看一下具體的區別。
windows:
C:oot.ini //查看系統版本
C:WindowsSystem32inetsrvMetaBase.xml //IIS配置文件
C:Windows epairsam //存儲系統初次安裝的密碼
Linux:
/etc/passwd
/etc/shadow
/etc/hosts
/root/.bash_history //root的bash歷史記錄
莫名的很親切。
說白了,這種漏洞利用方式的前提是,你需要對網站的結構很了解,這樣才能知道一些目錄的路徑位置所在。
照例接下來是一個實驗,由于環境原因,這次使用windows的任意文件讀取漏洞,下面是實驗。
三、實驗
來演示一個基于windows系統的讀取。
創建兩個賬號:zhongpei和zhongpeitest賬戶。
接下來分別登陸兩個賬號,進行測試,對了這個驗證方法是POC。
先說一下思路,先使用賬號zhongpei登陸,并且創建一個txt文件,然后寫入一些信息,最后使用test的測試賬號讀取出來這個信息。
1、寫信息
登陸zhongpei賬號,并且創建一條信息,叫做welcome to zhongpei!
2、讀信息
使用測試賬號zhongpeitest進行任意文件讀取操作。
心里默默的說一句,so easy,看好了。
成功讀取到了,這個演示windows讀取方式。
四、總結
任意文件讀取漏洞就是下載限制不嚴格導致的,嚴重的直接讀取數據庫的信息,很危險。所以網站權限需要注意,可以設置為Root。
windows的敏感信息:
C:oot.ini //查看系統版本
C:WindowsSystem32inetsrvMetaBase.xml //IIS配置文件
C:Windows epairsam //存儲系統初次安裝的密碼
C:Program Filesmysqlmy.ini //Mysql配置
C:Program Filesmysqldatamysqluser.MYD //Mysql root
C:Windowsphp.ini //php配置信息
C:Windowsmy.ini //Mysql配置信息