挑战一览
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
03:Linux 入门——找到文件
你已连接到 Linux 服务器;主目录中有一个写着旗标的文件。请用基本命令找到它。
04:找到隐藏文件
Linux 中以 `.` 开头的文件默认不会被普通 `ls` 显示。服务器上有一个隐藏文件,请找到它。
05. HTML 源代码中的秘密
网页中还包含许多页面表面看不到的信息。查看 HTML 源代码时,常能发现开发者留下的注释。请检查本页源代码并找出旗标。
06. JavaScript 密码校验
本页有一个受密码保护的区域,但密码校验在 JavaScript 中完成。检查开发者工具里的脚本,找出正确密码。
07. 查看 Cookie
网站会用 Cookie 在浏览器中保存信息,例如登录状态。有时重要信息也会被错误地存入 Cookie;请检查本网站的 Cookie 并找到旗标。
10:安全基础——伦理与规则
成为白帽黑客不仅需要技术,也需要伦理与法律意识。阅读情境后,选择发现朋友网站漏洞时应采取的正确行动。 请思考哪一种行动才是恰当的。 这种先向所有者报告所发现漏洞的行为称为“负责任的披露(responsible disclosure)”。…
11. 解读凯撒密码
凯撒密码是最经典的古典密码之一:它将字母按固定数量平移。 密文:IODJ{fdhvdu_flskhu_edvlfv} 找出平移量并解码 flag。
14. ROT13 的魔法
ROT13(Rotate 13)是一种将英文字母平移 13 位的凯撒密码。对它执行两次会还原原文,因为字母表共有 26 个字母。 密文:SYNT{ebg13_vf_flzzrgevp} 请用 ROT13 解码并找出 flag。
Linux-01:用 grep 在日志堆中定位目标
`/var/log/app` 下有大量按日期归档的日志,只有一条 `ERROR` 记录包含旗标。请用 grep 或 find 找到它。
Linux-SSH 密钥搜索:发现隐藏私钥文件
应用配置目录深处藏着一个类似私钥的文件。请用 `find` 根据扩展名和目录线索找到并检查它。
Linux-归档:解开 tar 包中的秘密
主目录中的压缩归档 `.tar.gz` 内藏有写着旗标的文件。请用 tar 解开并检查内容。
Linux-自定义:检查定时备份脚本
检查 `/usr/local/bin` 中的定时脚本及注册它的 cron 配置;脚本注释也可能含有线索。
Linux-服务配置:深入 Nginx 配置文件
`/etc` 下有多份服务配置,混有诱饵和真实线索;请连同注释一起仔细检查。
Linux-符号链接基础:跟随链接链到终点
一条符号链接链连接了多个文件。请用 `ls` 或 `readlink` 一直跟到真实文件。
Linux-磁盘用量:用 du 追踪膨胀文件
隐藏目录中有一个大小异常的大文件。请用 du 或 find 的大小选项定位并检查它。
Linux-权限基础:运行没有执行位的脚本
某个脚本没有执行权限。请检查其权限,用 `chmod` 添加执行位后运行它。
Linux-文件类型伪装:用 file 看穿文件真身
扩展名为 `.jpg` 的文件未必真是图片。请使用 file 找出扩展名和实际内容不一致的文件。
Linux-进程基础:检查 sleep 命令参数
请从数个后台进程中找到具有目标命令行参数的进程,练习 `ps` 的基本用法。
Linux-深度搜索:用 find 找到深层文件
唯一的旗标文件藏在多层嵌套目录深处;请用 `find` 排除诱饵并找到它。
Linux-环境变量基础:检查 shell 启动变量
shell 启动时设置的环境变量中有一个保存旗标。请用 env 或 echo $变量名检查。
Linux 基础:权限与 SUID
学习 Linux 基本命令和文件权限。请依据提示找到 SUID 文件,并使用题目指定的可执行文件取得旗标。
SQL 注入 101
该登录表单存在 SQL 注入漏洞。请在没有正确凭据的情况下以 admin 身份登录并取得旗标。