做網(wǎng)站用什么軟件語(yǔ)言網(wǎng)站ip查詢
參考借鑒
Pikachu靶場(chǎng)之文件上傳漏洞詳解_皮卡丘文件上傳漏洞-CSDN博客
文件上傳漏洞:pikachu靶場(chǎng)中的文件上傳漏洞通關(guān)_pikachu文件上傳通關(guān)-CSDN博客
client check
在桌面新建一個(gè)文件夾,準(zhǔn)備一個(gè)hello.php文件,文件寫入如下代碼
<?phpinfo();?>
直接上傳php文件?
出現(xiàn)報(bào)錯(cuò),并且發(fā)現(xiàn)文件校驗(yàn)發(fā)生在客戶端,所以只需要繞過(guò)瀏覽器就可以上傳文件
方法1
關(guān)閉瀏覽器JavaScript解析器
FireFox地址欄輸about:config-->搜索javascript.enabled并將其關(guān)閉(默認(rèn)開(kāi)啟)關(guān)閉后便可直接上傳php文件
直接上傳php文件
根據(jù)文件保存路徑查看上傳的文件?
方法2
burpsuite抓包改后綴
修改文件后綴名為png
?打開(kāi)BP,開(kāi)啟攔截請(qǐng)求?
選擇改了后綴的png文件上傳?
?查看BP抓的包
后綴名改回php,重發(fā)
文件上傳成功?
根據(jù)文件保存路徑查看上傳的文件?
????????
MIME type
方法1
burpsuite抓包改后綴,好處是只要這個(gè)文件上傳成功了,MIME type肯定是對(duì)的
同上題方法2,具體步驟參照上文
方法2
修改MIME type,好處是服務(wù)器上不會(huì)多一個(gè)沒(méi)用的文件
BP開(kāi)啟攔截-->上傳txt文件-->將攔截的包發(fā)給Repeater
修改Content Type
文件上傳成功?
根據(jù)文件保存路徑查看上傳的文件?
????????
getimagesize
getimagegesize()函數(shù)用于獲取圖像代銷及相關(guān)信息,成功返回一個(gè)數(shù)組,失敗則返回一個(gè)錯(cuò)誤信息,總之是一個(gè)判斷圖片大小和類型的一個(gè)函數(shù),也避免了直接更改后綴名的繞過(guò)
需要一張圖片+一個(gè)php文件,制作一張圖片馬
使用copy命令合并這兩個(gè)文件
?copy hello.png /b + hello.php /a shell.png
?將合并的文件上傳?
文件上傳成功?
?根據(jù)文件保存路徑查看上傳的文件?
成功的訪問(wèn)了,但是并沒(méi)有解析,說(shuō)明還是還是沒(méi)有用的,這里就要配合文件包含漏洞來(lái)使用才能正常解析
將文件包含的URL中的filename進(jìn)行修改,利用文件包含漏洞來(lái)解析上傳的文件:
http://127.0.0.1/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2024/06/20/6437336673eba92c5bc524695718.png&submit=提交查詢
解析成功