挑战一览
Linux-02:通过 sudo 允许的 vim 提权
检查普通用户可免密码通过 sudo 运行的命令;某个命令可用已知 GTFOBins 技巧进入 shell。
Linux-03:解读 cron 配置文件
系统包含 `/etc/cron.d`、`/etc/crontab` 和用户 crontab 等多处 cron 配置。检查它们,找出写有旗标的位置。
Linux-Cron 提权:劫持可写的 root 脚本
root 会定期运行一个 cron 脚本。检查其权限,并思考普通用户可写时下次执行会发生什么。
Linux-systemd:检查服务单元的环境变量
systemd 单元可在 `[Service]` 段设置环境变量。请检查已注册服务的定义和值。
Linux-符号链接迷宫:穿过分岔路径
多个目录由符号链接交错相连。请不要被诱饵提示文件误导,逐一跟随链接到真正的旗标文件。
Linux-脚本调试:修复损坏的 Bash 脚本
脚本内有多个故意设置的拼写和语法错误,无法运行到最后。请用 Bash 调试功能逐一修复。
Linux-网络基础:连接监听端口
后台服务正在某个端口监听。请用 `ss` 或 `netstat` 找到端口,并以 `nc` 连接来接收旗标。
Linux-备份查找:辨认真正的临时文件
项目目录有多个以 `.bak`、`.tmp` 或 `~` 结尾的诱饵备份和临时文件;真正的旗标位于隐藏文件中。
Linux-管道:用 grep 和 awk 筛选日志
访问日志包含大量记录。某个 IP 在短时间内产生了大量 404,将它这一连串请求的路径拼接起来即为旗标。请用管道组合 grep、awk、sort、uniq 等命令来拼出答案。
Linux-软件包信息:检查已安装软件包详情
系统安装了一个自制 deb 软件包。请用 `dpkg` 或 `apt` 查看其详情,并在描述中寻找隐藏信息。
Linux-进程追踪:找出运行中的目标进程
多个后台进程中有一个把旗标放在命令行参数里。请用 `ps` 列出并找出它。
Linux-用户调查:用 awk 筛选目标用户
系统中注册了多个用户。请用 `awk` 解析 `/etc/passwd` 找到满足条件的用户,再检查其主目录中的隐藏文件。
Linux-日志轮转:搜索压缩的旧日志
部分旧日志已被 gzip 压缩;请在不解压文件的情况下搜索其中的旗标。
Linux-日志探索:从多份日志中挖出旗标
应用与系统日志中只有一条 `DEBUG` 记录包含旗标。请用 `grep` 等工具筛选。
Linux-环境变量秘密:寻找名为 FLAG 的变量
系统设置了多个环境变量,其中包括诱饵凭据。请列出变量并找出保存旗标的那一个。
Web-11. 员工门户 SQL 注入
KinoGadget 的内部员工访问门户使用旧式认证系统。据说开发者会直接用输入拼接动态 SQL;请尝试以管理员身份进入。
Web-12. BlogSearch 中的反射型 XSS
BlogSearch 是一个简单的博客搜索引擎。搜索词会原样(未转义)嵌入结果页。旗标在只有网站管理员的浏览器才持有的会话 Cookie(session_flag)中。请构造反射型 XSS 的…
Web-13. 绕过 ImageVault 文件上传检查
ImageVault 可上传 JPG、PNG 和 GIF 图片。若验证只检查文件名结尾,哪些不允许的文件可能会蒙混过关?
Web-14. 网络诊断工具中的命令注入
该应用根据输入的主机名执行 ping。若主机输入被直接传给 shell 命令,会发生什么?
Web-15. UserProfile 服务中的 IDOR
UserProfile 服务允许查看用户资料。检查直接对象引用的访问控制是否正确,并尝试访问不属于自己的记录。
Web-16. CHIMERA 研究实验室中的弱 JWT 密钥
CHIMERA 研究实验室使用 JWT 管理会话。请分析令牌签名是否使用了容易猜测的密钥,并尝试取得管理员权限。
Web-17. FileShare 中的路径遍历
FileShare 用于列出和下载共享目录中的文件。请检查传给下载端点的文件名参数是否经过正确验证。
Web-18. 联系表单中的 XXE 攻击
该联系表单把输入转成 XML 发给服务器,服务器解析后回显结果。请检查 XML 解析器配置是否会意外读取文件。
Web-19. 银行应用中的 CSRF 转账
该银行应用允许已登录用户转账。请检查其他网站能否代替受害者发起转账,从而判断是否缺少 CSRF 防护。