网络安全 CTF 挑战
选择一个领域与难度,在安全环境中调查证据并验证结论。
Web难度 2Web-11. 员工门户 SQL 注入
KinoGadget 的内部员工访问门户使用旧式认证系统。据说开发者会直接用输入拼接动态 SQL;请尝试以管理员身份进入。
Web难度 2Web-12. BlogSearch 中的反射型 XSS
BlogSearch 是一个简单的博客搜索引擎。搜索词会原样显示在结果页,请检查输入在插入页面前是否被正确过滤。
Web难度 2Web-13. 绕过 ImageVault 文件上传检查
ImageVault 可上传 JPG、PNG 和 GIF 图片。若验证只检查文件名结尾,哪些不允许的文件可能会蒙混过关?
Web难度 2Web-14. 网络诊断工具中的命令注入
该应用根据输入的主机名执行 ping。若主机输入被直接传给 shell 命令,会发生什么?
Web难度 2Web-15. UserProfile 服务中的 IDOR
UserProfile 服务允许查看用户资料。检查直接对象引用的访问控制是否正确,并尝试访问不属于自己的记录。
Web难度 2Web-16. CHIMERA 研究实验室中的弱 JWT 密钥
CHIMERA 研究实验室使用 JWT 管理会话。请分析令牌签名是否使用了容易猜测的密钥,并尝试取得管理员权限。
Web难度 2Web-17. FileShare 中的路径遍历
FileShare 用于列出和下载共享目录中的文件。请检查传给下载端点的文件名参数是否经过正确验证。
Web难度 2Web-18. 联系表单中的 XXE 攻击
该联系表单把输入转成 XML 发给服务器,服务器解析后回显结果。请检查 XML 解析器配置是否会意外读取文件。
Web难度 2Web-19. 银行应用中的 CSRF 转账
该银行应用允许已登录用户转账。请检查其他网站能否代替受害者发起转账,从而判断是否缺少 CSRF 防护。
Web难度 2Web-20. 通过 URL Fetcher 实施 SSRF
URL Fetcher 会获取并显示用户提供的任意 URL 内容。请尝试让它访问只有服务器本身才能到达的内部服务。
Forensics难度 2从 Windows 注册表查找 USB 历史
分析 `SYSTEM` 文件,恢复曾连接的 USB 设备信息及隐藏 flag。
General Skills难度 2文本处理大师:sed 与 awk
`/app/data.csv` 的第 2 列价格需至少为 1000;把第 3 列中的 `_` 改为空格,并为第 1 列添加 `PROD-`。处理后第一行的商品名是旗标。
Forensics难度 2从磁盘镜像中寻找秘密文件
检查 `disk.img`,从文件系统中读取隐藏的秘密文件并取得 flag。
Network难度 2网络分析:DNS 区域传送泄露
捕获到一次针对配置错误权威 DNS 服务器的未认证区域传送(AXFR)。请分析 `traffic.pcap` 中传输的内部区域 TXT 记录并恢复旗标。
Network难度 2网络分析:SMB 共享枚举泄露
捕获到攻击者枚举网络 SMB 共享的通信。请下载 `traffic.pcap`,跟踪 SMB(TCP/445)流量,并从泄露的文件列表或读取结果中提取旗标。
Network难度 2网络分析:Telnet 凭据
一台旧服务器通过 Telnet(明文)进行远程管理。请从 `traffic.pcap` 跟踪 Telnet 会话,提取登录时传输的密码;密码就是旗标。
Network难度 2网络分析:匿名 FTP 传输文件
捕获到一次匿名 FTP 明文传输。请从 `traffic.pcap` 跟踪 FTP 数据传输,并从下载文件内容中提取旗标。
Network难度 2网络分析:明文 HTTP 凭据
请分析在公共 Wi-Fi 上截获的通信:某人通过明文 HTTP 登录。下载 `traffic.pcap`,找到 HTTP POST 登录请求并提取密码;密码就是旗标。
Cryptography难度 2寻找哈希碰撞
MD5 可实际构造不同输入却具有同一哈希值的碰撞。碰撞抗性已失效的哈希不应再用于安全敏感的完整性保护或签名。 据称具有相同 MD5 的两个文件: file_a != file_b md5(file_a) =…
Cryptography难度 2哈希长度扩展攻击
对 MD5、SHA-1、SHA-256 等 Merkle–Damgård 哈希,直接以 `hash(secret || message)` 作为签名可能受到长度扩展攻击。 已知消息与 SHA-256: message =…
Forensics难度 2从数据包捕获中寻找密码
分析 `traffic.pcap` 中的 HTTP 登录请求,找出管理员提交的密码。
Cryptography难度 2填充预言机入门
填充预言机攻击会利用不同错误响应作为恢复明文的信号。本入门题请从泄露的 Base64 字符串中读取 flag。 泄露的 Base64 字符串: Vmlld1NvdXJjZTpLSU5PQ097cGFkZGluZ19vcmFjbGVfYmF…
Forensics难度 2根据文件时间戳确定入侵时刻
通过 `evidence/` 中文件的时间线确定入侵活动,并找出 flag。
Programming难度 2编程:Bash 脚本
`jobs.log` 在启动时由注入的 FLAG 生成。请选出 `archive/status=ok` 的行,按 part 排列,反转 value 后作十六进制解码。