zoukankan      html  css  js  c++  java
  • DVWA-4.3 File Inclusion(文件包含)-High-利用file协议绕过防护策略

    High Level

    查看源码

    <?php
    
    // The page we wish to display
    $file = $_GET[ 'page' ];
    
    // Input validation
    if( !fnmatch( "file*", $file ) && $file != "include.php" ) {
        // This isn't the page we want!
        echo "ERROR: File not found!";
        exit;
    }
    
    ?>

    fnmatch() 函数根据指定的模式来匹配文件名或字符串。

    可以看到,High级别的代码使用了fnmatch函数检查page参数,要求page参数的开头必须是file,服务器才会去包含相应的文件。

    漏洞利用

    High级别的代码规定只能包含file开头的文件,看似安全,不幸的是我们依然可以利用file协议绕过防护策略file协议其实我们并不陌生,当我们用浏览器打开一个本地文件时,用的就是file协议,如下图。

    构造url

    http://172.16.134.26/dvwa/vulnerabilities/fi/?page=file:///D:/software/wamp/www/dvwa/php.ini

    成功读取了服务器的配置文件

    至于执行任意命令,需要配合文件上传漏洞利用。首先需要上传一个内容为php的文件,然后再利用file协议去包含上传文件(需要知道上传文件的绝对路径),从而实现任意命令执行。

    参考:https://www.freebuf.com/articles/web/119150.html

  • 相关阅读:
    进制
    流程控制
    运算符
    格式化输出
    数据结构-树的遍历
    A1004 Counting Leaves (30分)
    A1106 Lowest Price in Supply Chain (25分)
    A1094 The Largest Generation (25分)
    A1090 Highest Price in Supply Chain (25分)
    A1079 Total Sales of Supply Chain (25分)
  • 原文地址:https://www.cnblogs.com/zhengna/p/12748315.html
Copyright © 2011-2022 走看看