目录

文件上传-BUUCTF解题记录

# 文件上传-BUUCTF解题记录

题目收集自BUUCTF等平台,如有侵权告知删除

# [极客大挑战 2019]Upload 1

题目地址[极客大挑战 2019]Upload 1 (opens new window)

正常上传一个简单的php文件,会提示不是图片文件

# 1.php
<?= phpinfo();?>
1
2

先从最简单的开始,尝试BP抓包修改报文中MIME类型,放行。又提示上传的是PHP文件,换一个不常见的扩展名.phtml,提示匹配到了<?

1

换成js脚本的写法

# 1.phtml
<script language='php'>phpinfo();</script>
1
2

提示上传失败,检测到不是图片文件,给他加个图片文件头的特征

参考图片文件头 (opens new window)

# 1.phtml
GIF89a
<script language='php'>phpinfo();</script>
1
2
3

2

再次上传成功,访问url/upload/1.phtml看到phpinfo()函数执行

# [ACTF2020 新生赛]Upload 1

题目地址[ACTF2020 新生赛]Upload 1 (opens new window)

正常上传php文件,js弹出只能上传图片

禁用js,我用chrome插件禁用js

3

禁用后,php文件还是上传不了,php3,php5也不行,尝试上传一个phtml文件

# 1.phtml
<?php phpinfo();?>
1
2

上传后访问,phpinfo()函数执行

# [MRCTF2020]你传你🐎呢 1

题目地址[MRCTF2020]你传你🐎呢 1 (opens new window)

传php文件都失败了,看样子只能用图片了。上传.htacess文件失败,修改MIME类型,.htacesss文件上传成功。

# .htacess
AddType application/x-httpd-php .png
1
2

".htaccess" 文件是 Apache Web 服务器特有的文件,用于配置服务器的行为。通过 ".htaccess" 文件,用户可以在特定目录中覆盖 Apache 服务器的全局配置,包括重定向、认证、缓存控制等。

接着上传图片

# 1.png
<?php phpinfo();?>
1
2

上传成功,访问看到phpinfo()函数执行

5

# [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
1
2

上传png图片

# 1.png
<?php phpinfo();?>
1
2

提示还是php文件,尝试使用js格式

# 1.png
<script language='php'>phpinfo();</script>
1
2

上传成功,访问看到phpinfo()函数执行

最后一次更新于: 2024/09/07, 22:30:21