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碰撞绕过可以有以下两种形式:
- 0e字符串绕过(因为PHP语言在遇到 0e 时,会自动认为他们俩 MD5 值相等)
- 数组绕过(原理: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
本文来自博客园,作者:Alaso_shuang,转载请注明原文链接:https://www.cnblogs.com/Alaso687/p/18333188