skills/ctf/ctf-flag-hunting/SKILL.md
CTF 挑战中的 Flag 搜索策略。当通过 RCE/LFI/SQLi/webshell 等方式获得目标访问权限后、使用常规 ls/cat 命令找不到 flag 时使用。覆盖文件系统、数据库、环境变量、源码、内存等所有 flag 可能的存储位置。按成功率排序的搜索优先级——先试标准路径,再搜索全盘
npx skillsauth add wgpsec/AboutSecurity ctf-flag-huntingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
你有什么权限?
├─ 命令执行(RCE)→ Phase 2
├─ 文件读取(LFI)→ Phase 3
├─ 数据库访问(SQLi)→ Phase 4
└─ Web 管理后台 → Phase 5
优先级顺序(按成功率排列):
cat /flag.txt && cat /flag && cat /root/flag.txt && cat /home/*/flag.txt
cat /var/www/html/flag.txt
cat /var/www/html/flag.php
cat /tmp/flag
cat /tmp/flag.txt
cat /opt/flag.txt
cat /app/flag.txt
也可以看看路径下的文件名
ls /root
ls /tmp
find / -name "flag*" 2>/dev/null
find / -name "*.txt" -path "*/flag*" 2>/dev/null
grep -r "flag{" / --include="*.txt" --include="*.php" --include="*.html" 2>/dev/null
env | grep -i flag
cat /proc/self/environ | tr '\0' '\n' | grep -i flag
cat /proc/self/cmdline | tr '\0' '\n' | grep -i flag
cat /var/www/html/config.php # 数据库连接凭据
cat /var/www/html/.env # 环境变量泄露
cat /app/config.py
找到数据库凭据后:
mysql -u <user> -p<password> -e "SHOW DATABASES; USE <db>; SHOW TABLES; SELECT * FROM flag;"
ps aux | grep -i flag # 进程命令行参数
netstat -tlnp # 内网服务可能有 flag
lsof -i # 开放端口对应的服务
LFI 比 RCE 限制更多——只能读文件,不能执行命令。
路径遍历找 flag 时,对每个深度同时尝试多种文件名变体:
# 每个深度都要批量测试这些变体(不要只试 flag 不试 flag.txt!)
../flag ../flag.txt ../.flag ../flag.md
../../flag ../../flag.txt ../../.flag
../../../flag ../../../flag.txt ../../../.flag
# 同时测试绝对路径
/flag /flag.txt /root/flag.txt /tmp/flag
⚠️ 常见失败模式:只尝试
../flag而忽略../flag.txt,导致超时。务必同时发送带后缀和不带后缀的变体。
优先级顺序:
../、../../、../../../)同时尝试 flag、flag.txt、.flag、flag.md/etc/passwd 能读 → 说明 LFI 有效/var/www/html/config.php
/var/www/html/.env
/proc/self/environ
/proc/self/mounts
/var/www/html/index.php、/app/app.py — 可能发现 RCE 入口/var/log/apache2/access.log — 日志投毒准备-- 1. 列出现有数据库
SHOW DATABASES;
-- 2. 切换后列出表
USE <db>;
SHOW TABLES;
-- 3. 直接查 flag 表
SELECT * FROM flag;
SELECT * FROM flags;
SELECT * FROM secret;
SELECT * FROM secret_table;
-- 4. 不知道表名时搜索
SELECT table_name, column_name FROM information_schema.columns WHERE column_name LIKE '%flag%';
-- 5. 读取文件(需要 FILE 权限)
SELECT LOAD_FILE('/flag.txt');
标准路径都试过仍找不到,尝试以下降级手段:
SELECT * FROM users LIMIT 10; — flag 可能泄露在用户数据里history — 之前做过的操作可能遗留 flag 路径/etc/nginx/sites-enabled/ — 路径映射可能泄露baby_pwn → pwn 类题目)flag{hex_string} — 最常见,32/40/64 字符flag{string}、CTF{string} — 小写或其他前缀假 flag 陷阱:flag{test}、flag{this_is_not_the_flag} 是迷惑项。
ctf-flag-verification 验证格式和长度testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能