zoukankan      html  css  js  c++  java
  • 2、DVWA之文件上传(二)

    <?php
    
    if( isset( $_POST[ 'Upload' ] ) ) {
        // Where are we going to be writing to?
        $target_path  = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";
        $target_path .= basename( $_FILES[ 'uploaded' ][ 'name' ] );
    
        // File information
        $uploaded_name = $_FILES[ 'uploaded' ][ 'name' ];
        $uploaded_type = $_FILES[ 'uploaded' ][ 'type' ];
        $uploaded_size = $_FILES[ 'uploaded' ][ 'size' ];
    
        // Is it an image?
        if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&
            ( $uploaded_size < 100000 ) ) {
    
            // Can we move the file to the upload folder?
            if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path ) ) {
                // No
                echo '<pre>Your image was not uploaded.</pre>';
            }
            else {
                // Yes!
                echo "<pre>{$target_path} succesfully uploaded!</pre>";
            }
        }
        else {
            // Invalid file
            echo '<pre>Your image was not uploaded. We can only accept JPEG or PNG images.</pre>';
        }
    }

    上次实验是low级别,以上是这次medium级别代码。

    其中这两行代码是重点,因为它限制了文件后缀必须是jpeg、png,也就是image类型的,还有就是文件大小必须小于100000B

    if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&
        ( $uploaded_size < 100000 ) ) {

    媒体类型(通常称为 Multipurpose Internet Mail Extensions  MIME 类型 )是一种标准,用来表示文档、文件或字节流的性质和格式。它在IETF RFC 6838中进行了定义和标准化。

    以下是常见的几种MIME类型,看后缀ipeg、png就能知道image类型是图像类的文件。

    这次medium级别实验的思路:

    思路一、用图片加木马的方法制作图片木马

    思路二、修改后缀名,改为image类型的文件,直接修改上传可能会导致菜刀、蚁剑等工具无法连接,使用burpsuite软件进行代理,修改mime类型后

    进行转发,然后再使用工具进行连接控制。

    ————————————————————————————————————

    下面是一句话木马和一张图片

     打开cmd,进入文件目录,输入copy 文件1+文件2 文件3 ,注意文件3的后缀名需要与指定的上传类型一样。

    正常打开是无法显示的,用记事本打开文件3可以看到末尾存在一句话木马。如果想要正常打开是图片,可以加参数copy 1.jpg/b+2.php/a 3.jpeg

    -b是指以二进制的方式合并复制文件,用于图像影音类文件
    -a是指以ascii方式合并复制文件,用于文本类文件

     上传成功。

     

     打开蚁剑进行连接尝试,连接失败了。

     

    文件包含漏洞, 修改路径,尝试之后依旧是不行。

    http://192.168.230.128/dvwa-master/vulnerabilities/fi/?page=/dvwa-master/hackable/uploads/3.jpeg

    换思路二进行实验。

    打开kali虚拟机中的burpsuite,修改代理设置为所有IP的8080端口。

     

    win10客户端修改谷歌浏览器的代理设置,然后正常上传一句话木马

    这是用win10客户端上传一句话木马后拦截的内容,可以看到Content-Type: application/octet-stream,然后把类型修改为image/jpeg

     

    修改后的数据包内容,进行转发

     

    转发后可以看到已经上传成功。

    上传成功后可以暂时关掉代理,然后使用工具就可以正常连接了。如下图:

     

  • 相关阅读:
    FAST特征点检测算法
    ORB算法介绍(转)
    centos 安装MATLAB :设置回环设备失败: 没有那个文件或目录
    特征检测和特征匹配方法
    摄像机标定-- 张正友标定推导详解
    sublime text plugins
    使用Sublime Text搭建python调试环境[转]
    python OS 模块
    python 守护进程,监控进程
    python 带正则的search 模块
  • 原文地址:https://www.cnblogs.com/lookmefly/p/13552400.html
Copyright © 2011-2022 走看看