CTFHUB学习题解Web(4)-文件上传

注:

1.是个正在学习的新手,连脚本小子都不够格
2. 很多题目都很基础,但是都做了详细截图
3. 题库尚不完全,没有内容的分支先直接跳过,等题库更新再做添加
4. 大标题为版块名,小标题为题目名
5. 个人学习记录和复习使用,如有错误欢迎指正



无验证

无验证没啥说的,上传php脚本用蚁剑链接即可
CTFHUB学习题解Web(4)-文件上传
CTFHUB学习题解Web(4)-文件上传

前端验证

php文件不允许上传
CTFHUB学习题解Web(4)-文件上传
查看网页源码
CTFHUB学习题解Web(4)-文件上传
将脚本后缀改为.jpg上传并抓包把后缀名改回.php即可上传
CTFHUB学习题解Web(4)-文件上传
CTFHUB学习题解Web(4)-文件上传
用蚁剑连接即可
CTFHUB学习题解Web(4)-文件上传

.htaccess

查看网页源码发现有黑名单
CTFHUB学习题解Web(4)-文件上传
但是由于没有过滤.htaccess文件,所以可以这样构造.htaccess并上传,使gif文件被php解析器处理
CTFHUB学习题解Web(4)-文件上传
上传图片马并用蚁剑连接即可
CTFHUB学习题解Web(4)-文件上传

MIME绕过

既然是MIME绕过,直接上传php文件
CTFHUB学习题解Web(4)-文件上传
抓包并修改MIME即可成功上传
CTFHUB学习题解Web(4)-文件上传
使用蚁剑连接即可
CTFHUB学习题解Web(4)-文件上传

文件头检查

上传php文件会提示文件类型不正确
CTFHUB学习题解Web(4)-文件上传
抓包在脚本前加上gif文件的前缀GIF89a即可成功上传
CTFHUB学习题解Web(4)-文件上传
用蚁剑连接即可
CTFHUB学习题解Web(4)-文件上传

00截断

查看网页源码,给出了保存路径和允许上传的文件类型
CTFHUB学习题解Web(4)-文件上传
上传.jpg并抓包修改url如下
CTFHUB学习题解Web(4)-文件上传
上传成功,用蚁剑连接即可
CTFHUB学习题解Web(4)-文件上传
为什么修改路径而不是文件名?因为程序中检测的是文件的后缀名,如果后缀合法则拼接路径和文件名,那么修改了path以后的拼接结果为:road=/var/www/html/upload/test.php%00test.jpg,移动文件的时候会将文件保存为/var/www/html/upload/test.php,从而达到Getshell效果。

双写后缀

查看网页源码发现非法后缀名会被替换为空字符串
CTFHUB学习题解Web(4)-文件上传
CTFHUB学习题解Web(4)-文件上传
于是将.php更改为.pphphp并上传
CTFHUB学习题解Web(4)-文件上传

CTFHUB学习题解Web(4)-文件上传
用蚁剑连接即可
CTFHUB学习题解Web(4)-文件上传
原理是处理函数发现.pphphp后将其中的php替换为空字符串,剩下的字符串仍然合成为php,得以以php后缀名保存。通常还有多次替换的类似题目。

其他题目详解链接:

Web(1)-前置技能部分
Web(2)-信息泄露部分
Web(3)-密码口令与XSS部分

如果觉得有用可以关注+一键三连
我走错片场了