挑战一览
Web-18. 联系表单中的 XXE 攻击
该联系表单把输入转成 XML 发给服务器,服务器解析后回显结果。请检查 XML 解析器配置是否会意外读取文件。
Web-19. 银行应用中的 CSRF 转账
该银行应用允许已登录用户转账。请检查其他网站能否代替受害者发起转账,从而判断是否缺少 CSRF 防护。
Web-20. 通过 URL Fetcher 实施 SSRF
URL Fetcher 会获取并显示用户提供的任意 URL 内容。请尝试让它访问只有服务器本身才能到达的内部服务。
文本处理大师:sed 与 awk
`/app/data.csv` 的第 2 列价格需至少为 1000;把第 3 列中的 `_` 改为空格,并为第 1 列添加 `PROD-`。处理后第一行的商品名是旗标。
网络分析:DNS 区域传送泄露
捕获到一次针对配置错误权威 DNS 服务器的未认证区域传送(AXFR)。请分析 `traffic.pcap` 中传输的内部区域 TXT 记录并恢复旗标。
网络分析:利用 ICMP 外泄数据
内部主机 10.20.0.15 伪装成 ping(ICMP 回显请求)向外部主机 203.0.113.66 外泄了数据。请从首页下载 `traffic.pcap`,按 ICMP 序列号顺序连接发往外部主机的回显请求的数据部分,恢复旗标。
网络分析:SMB 共享枚举泄露
捕获到攻击者枚举网络 SMB 共享的通信。请下载 `traffic.pcap`,跟踪 SMB(TCP/445)流量,并从泄露的文件列表或读取结果中提取旗标。
网络分析:Telnet 凭据
一台旧服务器通过 Telnet(明文)进行远程管理。请从 `traffic.pcap` 跟踪 Telnet 会话,提取登录时传输的密码;密码就是旗标。
网络分析:匿名 FTP 传输文件
捕获到一次匿名 FTP 明文传输。请从 `traffic.pcap` 跟踪 FTP 数据传输,并从下载文件内容中提取旗标。
网络分析:明文 HTTP 凭据
请分析在公共 Wi-Fi 上截获的通信:某人通过明文 HTTP 登录。下载 `traffic.pcap`,找到 HTTP POST 登录请求并提取密码;密码就是旗标。
网络分析:明文 SMTP 附件
内部主机 10.30.0.25 未加密地向邮件服务器 10.30.0.10 的 25 端口发送了一封邮件。请从首页下载 `traffic.pcap`,取出邮件附带的机密备忘录(`secret-memo.txt`),找到其中写着的令牌(旗标…
寻找哈希碰撞
MD5 可实际构造不同输入却具有同一哈希值的碰撞。碰撞抗性已失效的哈希不应再用于安全敏感的完整性保护或签名。 据称具有相同 MD5 的两个文件: file_a != file_b md5(file_a) =…
哈希长度扩展攻击
对 MD5、SHA-1、SHA-256 等 Merkle–Damgård 哈希,直接以 `hash(secret || message)` 作为签名可能受到长度扩展攻击。 已知消息与 SHA-256: message =…
填充预言机入门
填充预言机攻击会利用不同错误响应作为恢复明文的信号。本入门题请从泄露的 Base64 字符串中读取 flag。 泄露的 Base64 字符串: Vmlld1NvdXJjZTpLSU5PQ097cGFkZGluZ19vcmFjbGVfYmF…
编程:Bash 脚本
/challenge/jobs.log 是每次容器启动都会用随机数据重新生成的夜间批处理日志。每一行是一次作业运行,key=value 字段以空格分隔。请只选出 job 恰好为 archive 且 status 为 ok 的行,把每个…
编程:PIN 暴力匹配
/challenge/vault.json 是每次容器启动都会用随机数据重新生成的金库记录,其中有 salt(十六进制字符串)和 pin_hash = sha256(salt + pin)(把 salt 与 6 位 pin…
编程:哈希计算
请分析每次启动时随机生成的证据文件 artifact-manifest.json。每个 artifact(artifact_00 到 artifact_09)有多条记录(name、sha256、data),只有 data 经…
编程:二进制 TLV 解析
/challenge/capture.bin 是每次容器启动都会用随机数据重新生成的自定义二进制文件。开头 4 字节为 KBIN,之后是 TLV 记录(type 1 字节、length 2 字节大端、value),type…
进程猎人:隐藏进程
名为 `secret_service` 的后台进程把旗标放在命令行参数中。请找出它的 PID、运行用户和完整参数。
彩虹表攻击
未加盐的快速哈希可被预计算反查数据库轻易还原。请反查给出的 MD5 哈希。 MD5 哈希: 5f4dcc3b5aa765d61d8327deb882cf99 请反查该哈希,并把原始字符串以 KINOCO{...} 的形式提交。
日志分析:找出入侵者
`/app/auth.log` 记录认证事件。找出一小时内失败登录至少 10 次的 IP,并取得该 IP 的第一次失败时间戳。日志格式:`[YYYY-MM-DD HH:MM:SS] Failed login from…
一次一密密钥复用攻击
一次一密仅在密钥只使用一次时安全。复用同一密钥时,可由已知明文恢复另一段明文。 用同一密钥加密的两个密文: ciphertext1_hex = 1c0a070901 known_plaintext1 = HELLO…
可预测的随机数
固定种子的伪随机输出可被复现;通用随机数生成器不能用于加密机密。 旗标生成代码: import random random.seed(12345) flag_chars = [chr(random.randint(65, 90))…
压缩迷宫:多层归档文件
`/app/flag.tar.gz` 是多层压缩文件:`flag.tar.gz → flag.tar → flag.zip.bz2.gz → flag.zip.bz2 → flag.zip → flag.txt`。请逐层解压并读取最终文件。