一、File Inclusion(local)
1.查詢第一個看看是什么情況
2.仔細看看發現url有些有趣
3.猜測有文件包含漏洞,於是試一試看看
在文件目錄下放入木馬
成功進入后台
二、文件包含(remote)
1.點擊進入查看頁面
url:http://localhost:8081/pikachu/vul/fileinclude/fi_remote.php?filename=include%2Ffile1.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
這個地方對filename傳參有了include的過濾,但可能存在ssrf漏洞。
http://xx.xx.xx.xx/pikachu/vul/fileinclude/fi_remote.php?filename=https://www.cnblogs.com/p201721420016/&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
2.傳參試試
成功跳轉了,但是並沒有顯示,也不知道為啥
三、不安全的文件下載
1.查看網頁內容
2、因為filename可以直接跳轉,直接構造
既然可以直接通過filename讀取文件,那就直接構造payload:
pikachu/vul/unsafedownload/execdownload.php?filename=../../../shengcheng.txt
成功
四、client check
1、
2、那可以直接上傳。
按照要求包裝好一個假的gif,只是改了一下后綴
上傳成功了
構造payload
http://your ip/pikachu/vul/unsafeupload/uploads/shengcheng.php?x=1
五、MIME type
1.這一次並不是在前端進行驗證。
2、抓包后修改包內內容后上傳:
這里只是加了一個文件類型的判斷。
3、同理:
六、getimagesize()
1、發現仍然沒有前端的過濾,但是會判定是否為真的圖片。
提示里說是對圖片的大小有判定,那我們可以嘗試把木馬藏在圖片里上傳
而且從之前上傳成功的那一張來看,后端會重新命名你的照片,所以單純修改文件后綴貌似是沒有用的。
上傳成功,通過剛剛的文件包含漏洞進行
成功