南邮ctf nctf CG-CTF web题writeup

本文详细介绍了南邮CTF(CG-CTF)中的一系列Web安全挑战,包括签到题、MD5碰撞、文件包含、PHP解码等多个题目。通过分析源码、利用漏洞和技巧,成功解密获取各题的flag。内容涵盖了PHP、SQL注入、文件上传、HTTP头操纵等多个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CG-CTF链接:

https://cgctf.nuptsast.com/challenges#Web

0x01 签到题

题目链接:http://chinalover.sinaapp.com/web1/
在这里插入图片描述
查看源码可得到flag
在这里插入图片描述
flag:nctf{flag_admiaanaaaaaaaaaaa}

0x02 md5 collision

题目链接:http://chinalover.sinaapp.com/web19/
题目给了源码

$md51 = md5('QNKCDZO');
$a = @$_GET['a'];
$md52 = @md5($a);
if(isset($a)){
if ($a != 'QNKCDZO' && $md51 == $md52) {
    echo "nctf{*****************}";
} else {
    echo "false!!!";
}}
else{echo "please input a";}

经分析,题目需要我们输入一个a值,要求a的md5值与’QNKCDZO’的md5值相同
QNKCDZO的md5值为0e830400451993494058024219903391
要使a的md5值与给出的md5值相同进行强行爆破不太现实
仔细观察给出的md5值发现 该值以0e开头的
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0e”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0e”开头的,那么PHP将会认为他们相同,都是0
所以我们只需要找到md5值为0e开头的值赋予a 则可以得到flag
以下几个值作为参考

s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469
s214587387a
0e848240448830537924465865611904

所以在url后面跟上?a=s878926199a 即可得到flag
在这里插入图片描述
flag:nctf{md5_collision_is_easy}

0x03 签到2

题目链接:http://teamxlc.sinaapp.com/web1/02298884f0724c04293b4d8c0178615e/index.php
在这里插入图片描述
题目要求输入口令,而口令在下方已经直接给出
但是我们直接输入是不行的,因为输入框限制了输入的长度为10
我们按下F12,将输入框限制输入长度改为更长,这里我改成了20
在这里插入图片描述
修改完毕后,在输入框中输入下面的口令,即可得到flag
在这里插入图片描述
flag:nctf{follow_me_to_exploit}

0x04 这题不是WEB

题目链接:http://chinalover.sinaapp.com/web2/index.html
在这里插入图片描述
经分析后,flag一定跟图片有关,将图片另存为本地
将图片用文本格式或者用WinHex打开
可以看到flag隐藏在文本的最后面
在这里插入图片描述
flag:nctf{photo_can_also_hid3_msg}

0x05 层层递进

题目链接:http://chinalover.sinaapp.com/web3/
链接打开后是一个很正常的网页
在这里插入图片描述
我们查看源码,可以看到一个名为SO.html的网页
在这里插入图片描述
题如其名,层层递进,点开SO.html后还有S0.html、SO.htm、S0.htm
最后我们会找到一个叫404.html的网页
在源码中我们可以看到一串奇怪的js注释,仔细观察一下就可以得到flag
在这里插入图片描述
此外我们也可以使用burp 很快就能找到404.html
在这里插入图片描述
flag:nctf{this_is_a_fl4g}

0x06 AAencode

题目链接:http://homura.cc/CGfiles/aaencode.txt
链接打开后全是颜文字表情(o_o) 这里应该是Unicode编码
在这里插入图片描述
右键另存为页面到本地 aaencode.txt 保存后再打开 就可以得到正常的aaencode
在这里插入图片描述
复制下来 在浏览器中按F12 在控制台中 粘贴这些颜文字 即可得到flag
在这里插入图片描述
flag:nctf{javascript_aaencode}

0x07 单身二十年

题目链接:http://chinalover.sinaapp.com/web8/
在这里插入图片描述
点开burp抓包,可以得到flag在这里插入图片描述
flag:nctf{yougotit_script_now}

0x08 php decode

题目给出代码:

<?php
function CLsI($ZzvSWE) {
 
    $ZzvSWE = gzinflate(base64_decode($ZzvSWE));
 
    for ($i = 0; $i < strlen($ZzvSWE); $i++) {
 
        $ZzvSWE[$i] = chr(ord($ZzvSWE[$i]) - 1);
 
    }
 
    return $ZzvSWE;
 
}
eval(CLsI("+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA=="));
?>

直接放到php里面跑一遍
在这里插入图片描述
发现有语法错误,把eval改成echo,即可得到flag
在这里插入图片描述
flag:nctf{gzip_base64_hhhhhh}

0x09 文件包含

题目链接:http://4.chinalover.sinaapp.com/web7/index.php

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值