zoukankan      html  css  js  c++  java
  • 墨者学院WebShell文件上传分析溯源(第2题)Write

    今天看文章看到一道比较有意思的题,复现并记录一下,友情提示,这个靶场经常经常经常出问题,如果发现路径无法访问等问题,重启解决就好~

    寻找上传文件

    访问提示后台,访问admin/upload.php会显示没有权限,并有一个upload1.php页面一闪而过,随后跳转到upload2.php,用burp抓包,得到上传页面

    确定上传路径

    上传之后只会显示上传路径,扫描目录也没有找到上传的文件,通过抓取upload1.php页面,发现返回了源码,现在已知处理上传的文件为upload_file.php

    通过更改cookie的uploadmd5字段,获取upload_file.php的源码

    <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="<?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 "上传成功!";  
    
    ?> 
    "/>
    <input type="submit" value="Send File"> 
    </form> 
    

    通过分析代码,发现上传上去的文件被重命名,处理代码为$file2 = $path.$time.'_'.$verify.'_'.$file1; ,将上传路径,时间,$verify,文件名进行拼接,得到20200406_375a49e245c8c9d0_ma.php,访问找到上传文件

    找到key

    用冰蝎进行连接,翻目录找到key文件并查看

  • 相关阅读:
    服务器ECS安装nodejs和mongodb
    bxSlider轮播图
    ckplayer播放器
    使用bootstrap和fontawesome
    java的极速验证
    安装python
    redis安装
    正则表达式
    部署django项目的环境以及mondoDB数据的导入
    反向代理和正向代理
  • 原文地址:https://www.cnblogs.com/BuFFERer/p/12650391.html
Copyright © 2011-2022 走看看