Upload-labs 文件上传靶场通关攻略(上)

Upload-labs 文件上传靶场通关攻略(上)

文件上传是Web网页中常见的功能之一,通常情况下恶意的文件上传,会形成漏洞。

逻辑是这样的:用户通过上传点上传了恶意文件,通过服务器的校验后保存到指定的位置。

当用户访问已经上传成功的文件时,上传的Web脚本会被Web容器进行解析,从而对网站造成危害。

今天我们来研究下Upload-labs靶场的每关不同的攻略,从而对文件上传进行深入的了解。

Pass-1

前端JS验证

编写一句话木马文件a.php,并将文件名修改尾a.jpg。上传后抓包修改为a.php。

即可上传成功。

Pass-2

MIME验证,Burp抓包,修改Conetent-type为image/png.

即可上传成功

Pass-3

禁止了php,jsp,asp等后缀。大小写绕过失败,修改为php5后缀。

即可上传成功

Pass-4

先上传.htaccess系统解析文件进行重写

内容如下

<FileMatch "1.jpg">
SetHandler application/x-httpd-php
</FileMatch>

再上传包含一句话木马的1.jpg,此时网站将把1.jpg当作php文件进行解析执行。

Pass-5

大小写绕过,修改后缀为.Php5

即可上传成功

Pass-6

空格绕过,空格编码后形成00,进行绕过。

在1.php Burp抓包尾椎添加空格即可。

Pass-7

尾缀.添加.,即在1.php后添加.,修改为1.php.进行绕过

Pass-8

尾缀添加::$DATA,形成NTFS写入文件的效果,进行绕过

Pass-9

尾缀添加. .,类似于双写绕过,只过滤了一次.和一次的空格。

Pass-10

直接上传发现1.php 被修改为1. ,对敏感词汇进行了替换

尝试进行双写绕过将1.php,修改为1.pphphp,进行绕过

总结:前十关我们可以总结如下几种文件上传绕过的方式。

1.前端JS验证:Burpsuite抓包修改尾缀

2.MIME验证:Burpsuite抓包修改Content-type

3.黑名单验证:Burpsuite抓包进行文件尾缀的爆破

4.解析文件可重写:重写解析文件,将JPG文件解析为PHP文件进行执行

5.大小写绕过、双写绕过

6.尾缀添加点,空格,::$DATA进行截断绕过

上一篇:数字转人民币大写,PHP实现


下一篇:The Data Warehouse Toolkit 阅读笔记