NSSCTF web入门题鉴赏

前言

思来想去还是觉得web好玩一点哈哈,尝试过crypto更能懂那种痛楚

[SWPUCTF 2021 新生赛]Do_you_know_http

https://www.nssctf.cn/problem/385

这道题就是简单的http协议
刚开始是'WLLM' browser! 这个题眼,于是我们上网络查询一下,发现user agency并不是它,那就需要我们去改一下user agency !
hackbar操作一波,将 user 改为 WLLM 之后,发现它又弹出一段英文 You can only read this at local! 意思是你只能在本地观看,于是我们需要把地址改为本地的 127.0.0.1

但是这里有一个知识就是 X-Forwarded-For(XFF) 是用来识别通过 HTTP代理 或 负载均衡方式 连接到 Web服务器的客户端最原始的IP地址的HTTP请求头字段
所以我们需要写 X-forwarded-for: 127.0.0.1 即可得到flag



[SWPUCTF 2021 新生赛]gift_F12

https://www.nssctf.cn/problem/382
so easy!
是一道关于JS源代码查询的问题
双厨欢喜啊!!梦幻的婚礼作为我的解题BGM,叠 buff!

直接搜索NSSCTF,发现没有,继续看看有没有Flag!



[SWPUCTF 2021 新生赛]easy_md5

https://www.nssctf.cn/problem/386
涉及到 MD5碰撞的处理方式,还有PHP源码分析,一题多解模式

<?php 
 highlight_file(__FILE__);
 include 'flag2.php';
 
if (isset($_GET['name']) && isset($_POST['password'])){
    $name = $_GET['name'];
    $password = $_POST['password'];
    if ($name != $password && md5($name) == md5($password)){
        echo $flag;
    }
    else {
        echo "wrong!";
    }
 
}
else {
    echo 'wrong!';
}
?> 

底下反映的条件是 "wrong !"说明此时不符合要求,于是我们需要用PHP来请求传值
变量不相同,但是MD5需要相同
MD5碰撞绕过可以有以下两种形式:

  1. 0e字符串绕过(因为PHP语言在遇到 0e 时,会自动认为他们俩 MD5 值相等)
  2. 数组绕过(原理:MD5不能加密数组,两个数组返回都是NULL)
    只要上述方法用的好,妥妥拿下 Flag !



[SWPUCTF 2021 新生赛]easyrce

https://www.nssctf.cn/problem/424

 <?php
error_reporting(0);
highlight_file(__FILE__);
if(isset($_GET['url']))
{
eval($_GET['url']);
}
?> 

开局就是PHP 但是出现了eval(eval 函数在 PHP 中用于执行字符串作为 PHP 代码)在一般情况下,flag基本会在根目录下,所以我们通过系统命令执行函数 system()函数来尝试查看根目录文件

于是文件目录下直接看到 flllllaaaaaaggggggg ,就是flag本身啊,直接查看即可得到flag

posted @ 2024-07-30 19:05  Alaso_shuang  阅读(94)  评论(0编辑  收藏  举报
2 3
4