ctfhub_WEB基础关(文件上传)
WEB基础
六、文件上传
1、无验证
无验证的话,直接上传一个一句话木马试试
-
利用哥斯拉生成php木马
-
将生成的文件上传
-
利用哥斯拉连接,进入
-
进入文件管理,查看flag
2、前端认证
-
将第一关利用哥斯拉生成的ctf.php文件修改后缀名,改为ctf.jpg
-
上传该文件,并用Bp拦截修改文件后缀名
-
利用哥斯拉连接,并进入读取文件管理中的flag
3、.htaccess
-
先上传一个图片码
shell.jpg <?php @eval($_POST['a']); ?>
-
在上传一个.htaccess文件,修改其中的内容,使其可以将第一次上传的图片文件解析成php文件
-
利用蚁剑连接,连接上传的图片码,此时图片文件以为解析成php文件
-
获取flag
4、MIME绕过
-
上传shell.php文件,并用bp拦截,修改Content-Type
-
上传成功
-
利用蚁剑连接,并获取flag
5、00截断
-
查看页面源码,上传的目录是可控的
-
上传shell.jpg,并用Bp拦截,修改上传的路径使用%00截断
-
文件是可以上传成功的,然后利用蚁剑连接,获得flag
6、双写后缀
-
查看页面的源码,上传的php等文件,会将文件的后缀名置空,但是是单次检查,可以双写后缀名进行绕过
-
上传shell.php文件,利用bp拦截,双写后缀名
-
上传成功
-
利用蚁剑进行连接,并获取flag
7、文件头检查
-
只是检测文件头有没有图像文件的标识,并不检测后缀名
-
上传一张图片文件,用bp进行拦截,转发到重发器
-
上传图片显示上传成功
-
将后缀.png改为.php,依旧上传成功
-
在.php文件内容的末尾加入一句话木马上传
-
-
利用蚁剑尝试连接
-
获取flag