挑战一览
01:第一步——二进制与十六进制
安全领域常使用二进制和十六进制。请把给出的十六进制序列转换成 ASCII 字符,找到旗标。 将下列十六进制转换为 ASCII: `46 4c 41 47 7b 68 65 78 5f 74 6f 5f 61 73 63 69 69 7d`
02. 隐藏的秘密:Base64 解码
Base64 是将二进制数据作为文本传输的编码方式,并不是加密。请解码给出的 Base64 字符串以找出 flag: RkxBR3tiYXNlNjRfaXNfbm90X2VuY3J5cHRpb259
05. HTML 源代码中的秘密
网页中还包含许多页面表面看不到的信息。查看 HTML 源代码时,常能发现开发者留下的注释。请检查本页源代码并找出旗标。
06. JavaScript 密码校验
本页有一个受密码保护的区域,但密码校验在 JavaScript 中完成。检查开发者工具里的脚本,找出正确密码。
07. 查看 Cookie
网站会用 Cookie 在浏览器中保存信息,例如登录状态。有时重要信息也会被错误地存入 Cookie;请检查本网站的 Cookie 并找到旗标。
08. 网络基础:认识端口号
网络通过端口号识别服务。例如 Web 服务器(HTTP)通常使用 80 端口,加密 Web(HTTPS)使用 443 端口。 安全诊断时会通过端口扫描来判断正在运行的服务。 【测验】 Q1:HTTP 的默认端口是多少? Q2:HTTPS…
10:安全基础——伦理与规则
成为白帽黑客不仅需要技术,也需要伦理与法律意识。阅读情境后,选择发现朋友网站漏洞时应采取的正确行动。 请思考哪一种行动才是恰当的。 这种先向所有者报告所发现漏洞的行为称为“负责任的披露(responsible disclosure)”。…
11. 解读凯撒密码
凯撒密码是最经典的古典密码之一:它将字母按固定数量平移。 密文:IODJ{fdhvdu_flskhu_edvlfv} 找出平移量并解码 flag。
12. 识别文件签名
文件开头的“魔数”可识别真实格式,即使扩展名被伪装。请使用 `file` 和 `xxd` 判断伪装文件的真实类型。
13. 图像中的隐藏元数据
照片和图像含有 EXIF 元数据,如拍摄时间、相机信息和 GPS 坐标。检查 `image_with_flag.jpg` 的 EXIF 数据以找出 flag;可使用 `exiftool image_with_flag.jpg` 或…
14. ROT13 的魔法
ROT13(Rotate 13)是一种将英文字母平移 13 位的凯撒密码。对它执行两次会还原原文,因为字母表共有 26 个字母。 密文:SYNT{ebg13_vf_flzzrgevp} 请用 ROT13 解码并找出 flag。
15. 从二进制文件提取字符串
二进制文件可能含有可读字符串,例如密码、URL 和错误消息。请从 `mystery_binary` 提取字符串并找出 flag:`strings mystery_binary | grep FLAG`。
SQL 注入 101
该登录表单存在 SQL 注入漏洞。请在没有正确凭据的情况下以 admin 身份登录并取得旗标。
Web-04. robots.txt 的陷阱
网站常为爬虫提供 robots.txt。本题要确认:robots.txt 要求不抓取的文件,是否仍能被直接访问。
Web-05. 目录列表陷阱
若 Nginx 为目录启用了索引列表(autoindex),本应隐藏的文件清单就会公开。请探索暴露的目录。
Web-06. 伪造 HTTP 请求头
该应用依据特定 HTTP 请求头的值允许访问。即使浏览器默认不会发送某个值,也能通过自行构造请求来修改它。
Web-07. 篡改 URL 参数
本应用在服务器端检查 URL 的 GET 参数 key。所需的参数名和值可从页面说明和提示中得到。提供正确的 key 时,服务器会返回旗标。
Web-08. 篡改 POST 数据
登录表单含有页面上看不见的 hidden input。用开发者工具检查它,并尝试修改提交的数据。
Web-09. 脆弱的 Basic 认证陷阱
受保护区域使用 HTTP Basic 认证,但开发者误把凭据留在公开页面的 HTML 注释中。请检查页面源代码。
Web-10. 查看重定向背后
访问某页会立刻跳转到另一页。浏览器会自动跟随重定向;请设法查看重定向之前的响应正文。
XSS 基础:留言簿
这个 Web 应用存在基础的 XSS 漏洞。找出留言簿中会原样反射输入的位置。旗标位于只有管理员浏览器才能读取的内部端点。点击页面上的“请管理员查看”,管理员就会打开你的 message。