文件上传-BUUCTF解题记录
# 文件上传-BUUCTF解题记录
题目收集自BUUCTF等平台,如有侵权告知删除
# [极客大挑战 2019]Upload 1
题目地址[极客大挑战 2019]Upload 1 (opens new window)
正常上传一个简单的php文件,会提示不是图片文件
# 1.php
<?= phpinfo();?>
2
先从最简单的开始,尝试BP抓包修改报文中MIME类型,放行。又提示上传的是PHP文件,换一个不常见的扩展名.phtml,提示匹配到了<?
换成js脚本的写法
# 1.phtml
<script language='php'>phpinfo();</script>
2
提示上传失败,检测到不是图片文件,给他加个图片文件头的特征
# 1.phtml
GIF89a
<script language='php'>phpinfo();</script>
2
3
再次上传成功,访问url/upload/1.phtml看到phpinfo()函数执行
# [ACTF2020 新生赛]Upload 1
题目地址[ACTF2020 新生赛]Upload 1 (opens new window)
正常上传php文件,js弹出只能上传图片
禁用js,我用chrome插件禁用js
禁用后,php文件还是上传不了,php3,php5也不行,尝试上传一个phtml文件
# 1.phtml
<?php phpinfo();?>
2
上传后访问,phpinfo()函数执行
# [MRCTF2020]你传你🐎呢 1
题目地址[MRCTF2020]你传你🐎呢 1 (opens new window)
传php文件都失败了,看样子只能用图片了。上传.htacess文件失败,修改MIME类型,.htacesss文件上传成功。
# .htacess
AddType application/x-httpd-php .png
2
".htaccess" 文件是 Apache Web 服务器特有的文件,用于配置服务器的行为。通过 ".htaccess" 文件,用户可以在特定目录中覆盖 Apache 服务器的全局配置,包括重定向、认证、缓存控制等。
接着上传图片
# 1.png
<?php phpinfo();?>
2
上传成功,访问看到phpinfo()函数执行
# [GXYCTF2019]BabyUpload 1
题目地址[GXYCTF2019]BabyUpload 1 (opens new window)
上传php文件提示不能上传后缀名有ph的文件,这题看来要用图片。上传png,gif图片失败,修改MIME类型也不能上传,最后看大佬博客发现只能用jpeg
【CTF】[GXYCTF 2019]BabyUpload (opens new window)
[GXYCTF2019]BabyUpload1 -- 题目分析与详解 (opens new window)
最后BP抓包MIME类型修改为image/jpeg竟然上传成功了。
上传.htacess文件
# .htacess
AddType application/x-httpd-php .png
2
上传png图片
# 1.png
<?php phpinfo();?>
2
提示还是php文件,尝试使用js格式
# 1.png
<script language='php'>phpinfo();</script>
2
上传成功,访问看到phpinfo()函数执行