目录
- **CG-CTF链接:**
-
- 0x01 签到题
- 0x02 md5 collision
- 0x03 签到2
- 0x04 这题不是WEB
- 0x05 层层递进
- 0x06 AAencode
- 0x07 单身二十年
- 0x08 php decode
- 0x09 文件包含
- 0x0a 单身一百年也没用
- 0x0b Download~!
- 0x0c COOKIE
- 0x0d MYSQL
- 0x0e GBK Injection
- 0x0f /x00
- 0x10 bypass again
- 0x11 变量覆盖
- 0x12 PHP是世界上最好的语言
- 0x13 伪装者
- 0x14 Header
- 0x15 上传绕过
- 0x16 SQL注入1
- 0x17 pass check
- 0x18 起名字真难
- 0x19 密码重置
- 0x1a php 反序列化(暂时无法做)
- 0x1b SQL Injection
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}