DVWA--File Upload

发布于:2023-02-03 ⋅ 阅读:(387) ⋅ 点赞:(0)

目录

定场诗

引言

0x1 环境介绍

0x2 Low级别

0x3 Medium级别


定场诗

曾经沧海难为水,除却巫山不是云。

取次花丛懒回顾,半缘修道半缘君。

引言

善守者,藏于九地之下;善攻者,动于九天之上。

FIle Upload,文件上传漏洞。即利用网页前端对上传文件格式没有进行限制或者限制不足被绕过,从而被上传php等木马文件导致网站信息泄露。

0x1 环境介绍

服务器端:win7;phpstudy+DVWA;192.168.1.254

攻击端:kali;192.168.1.2

0x2 Low级别

写一个一句话木马用来显示网页信息,命名为1.php。

 上传一下,发现Low级别下没有任何限制,上传成功,还显示了文件位置。

访问一下,成功显示。

0x3 Medium级别

将之前的1.php改成2.php,用来区分Low的文件。上传一下,发现对文件格式有要求,只能传Jpeg和Png。

看下网页源码,对文件格式做了限制,绕过也很简单,把上传文件格式改成png,在数据包里改回来就可以。

<?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>';
    }
}

?> 

开启拦截,把2.php改成2.png,上传文件,抓到包。把这里的png再改成php,Forward一下。

成功上传!

 访问一下位置,成功网页显示信息。

 (High待续,网上的参考使用的两种方法分别是1.木马文件拷贝进png里,这样可以上传,但是没办法直接使用;2.使用%00绕过,这对于较高版本的php无用。)


网站公告

今日签到

点亮在社区的每一天
去签到