取文件 shell_webshell文件上传分析溯源

            由于最近比较忙,暂时没有时间更新,所以分享分享一些其他博主文章,大家敬请谅解

摘要: 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禁用就能正常访问了

而且这里有个亮眼的点

先抓一下访问包,再抓一下上传包

a230beb90952dec8deedd56b7b835192.png

d6c7c2b296a8cfc2d67510b32a8af181.png

可以看到,upload_file.php是用来处理数据的,upload1.php我猜测是来生成cookie的它读取服务器上的一个txt文件,这里很有可能存在文件包含漏洞

尝试一下把uploadmd5的值改为upload_file.php

读取一下后端代码d4c24e06baa3e01e70e186d8028d8c84.png 

对这段代码进行分析

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

bf136888b65799886af0c72102ab8b1b.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值