美文网首页
DVWA--File Inclusion

DVWA--File Inclusion

作者: 六亲不认的步伐 | 来源:发表于2020-06-06 09:22 被阅读0次

本次搭建OWASP靶机中自带的DWVA靶机对文件包含测试


Simple级别

源代码查看
<?php
    $file = $_GET['page']; //The page we wish to display 
?>

To include a file edit the ?page=index.php in the URL to determine which file is included.

根据源代码查看与页面提示,在URL中的关键参数page通过GET的方法来进行文件包含测试。
尝试通过包含常用验证文件phpinfo或passwd文件进行测试

Simple级别文件包含测试
由于从提供的源代码可以知道,并未对传入的参数进行任何过滤,所以可直接进行任意文件包含,但是同样对于读取权限有要求,例如将/etc/passwd权限进行修改进行测试
权限修改
完成权限修改后,在此进行包含测试
修改权限后进行包含
可以看到虽然对/etc/passwd进行包含,但是无法进行相关敏感信息读取
,所以对于文件包含的方法的一种防御方式就是对权限的严格控制

Medium级别

源代码查看
<?php
    $file = $_GET['page']; // The page we wish to display 
    // Bad input validation
    $file = str_replace("http://", "", $file);
    $file = str_replace("https://", "", $file);        
?>

根据源代码分析,对http和https关键词进行了简单过滤,无法包含外部页面,但是依旧可以通过目录遍历的方式来包含服务器内部相关文件
https://www.bing.com进行编码测试
URL编码
URL16进制加密

  • %68%74%74%70%73%3A%2F%2F%63%6e%2e%62%69%6e%67%2e%63%6f%6d


    Bypass失败
利用替换的原则,可以进行拼凑,能够在进行过滤后,又能够凑出来http或https

为了展示输入输入过滤后的效果,修改源代码,添加输出行


修改源代码

对测试代码进行测试


测试效果
尝试通过http来获取文件包含.viminfo测试
Bypass测试

High级别

源代码查看
$file = $_GET['page']; //The page we wish to display 
    // Only allow include.php
    if ( $file != "include.php" ) {
        echo "ERROR: File not found!";
        exit;
    }

代码使用了白名单机制进行防护,只有传入的内容符合指定的内容,才可进行包含处理。

常见敏感信息

  • Windows
    • C:\boot.ini 查看系统版本
    • C:\windows\system32\inetsrv\MetaBase.xml 查看IIS配置文件
    • C:\windows\repair\sam 查看存储Windows系统初次安装的密码
    • C:\ProgramFiles\Mysql\my.ini 查看MySQL配置
    • C:\ProgramFiles\mysql\data\mysql\user.MYD 查看MySQLroot密码
    • C:\windows\php.ini 查看php配置信息
  • Linux
    • /etc/passwd 查看账户信息
    • /etc/shadow 查看密码文件
    • /usr/local/app/apache2/conf/http.conf 查看Apache2配置文件
    • /usr/local/app/conf/extra/http-vhost.conf 查看虚拟网站配置
    • /usr/local/app/php5/lib/php.ini 查看php相关配置
    • /etc/httpd/conf/httpd.conf 查看Apache配置文件
    • /etc/my.conf 查看MySQL配置文件

防御方法总结

  1. 不要使用动态包含,可以在需要包含的页面固定写好
  2. 白名单机制
  3. 参数禁止外部可控
  4. 路径限制 一定要禁止目录跳转字符,如:“../”,“./”

参考资料

  1. 博客园 文件包含漏洞整理
  2. FreeBuf 文件包含漏洞的利用及防御方案
  3. CSDN 渗透测试技术----常见web漏洞--文件包含攻击原理及防御

相关文章

网友评论

      本文标题:DVWA--File Inclusion

      本文链接:https://www.haomeiwen.com/subject/crewahtx.html