skills/tool/katana-crawl/SKILL.md
使用 katana 进行 Web 爬虫和 URL 发现。当需要爬取目标网站的所有页面和端点、发现隐藏的 API 路径、JavaScript 中的端点、表单提取时使用。katana 是 ProjectDiscovery 出品的下一代爬虫框架,支持标准模式和 Headless 浏览器模式,能解析 JavaScript 发现动态端点。任何涉及 Web 爬虫、URL 发现、JS 端点提取、表单发现、站点地图的场景都应使用此技能
npx skillsauth add wgpsec/AboutSecurity katana-crawlInstall 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.
katana 是 ProjectDiscovery 出品的下一代 Web 爬虫框架。核心优势:JavaScript 解析(发现动态端点)+ Headless 模式(渲染 SPA)+ 管道友好 + 表单自动填充。
项目地址:https://github.com/projectdiscovery/katana
# 爬取单个目标(默认深度 3)
katana -u http://target.com
# 指定爬取深度
katana -u http://target.com -d 5
# 静默输出(只显示 URL)
katana -u http://target.com -silent
# 输出到文件
katana -u http://target.com -silent -o urls.txt
现代 Web 应用大量使用 JS 框架,传统爬虫无法发现 JS 中硬编码的 API 端点:
# 启用 JS 端点解析(推荐始终开启)
katana -u http://target.com -jc
# 启用 jsluice 深度 JS 解析(更全面,内存消耗大)
katana -u http://target.com -jsluice
# Headless 模式(渲染页面后爬取,适合 SPA/React/Vue)
katana -u http://target.com -headless
# Headless + 使用系统 Chrome
katana -u http://target.com -headless -system-chrome
# 从文件读取目标
katana -list urls.txt -silent
# 从 stdin 管道
cat urls.txt | katana -silent
# 配合其他工具
subfinder -d target.com -silent | httpx -silent | katana -silent -jc
# 只输出特定扩展名
katana -u http://target.com -em php,jsp,asp -silent
# 排除静态资源
katana -u http://target.com -ef png,jpg,css,gif,svg,woff -silent
# 正则匹配(只输出包含 api 的 URL)
katana -u http://target.com -mr "api|admin|login" -silent
# 正则过滤(排除包含 logout 的 URL)
katana -u http://target.com -fr "logout|static" -silent
# 提取表单元素
katana -u http://target.com -form-extraction -jsonl
# 限制在同一域名内(默认行为)
katana -u http://target.com
# 显示外部端点(不爬取,只显示)
katana -u http://target.com -display-out-scope
# 自定义范围(正则)
katana -u http://target.com -crawl-scope "target\.com|api\.target\.com"
# 排除特定路径
katana -u http://target.com -crawl-out-scope "logout|signout"
# 无范围限制(危险,慎用)
katana -u http://target.com -no-scope
# 限时爬取(比赛场景重要)
katana -u http://target.com -crawl-duration 60s
# 控制并发和速率
katana -u http://target.com -c 20 -rl 100
# 自定义 Header(带 Cookie 访问需要认证的页面)
katana -u http://target.com -H "Cookie: session=abc123"
# 使用代理
katana -u http://target.com -proxy http://127.0.0.1:8080
# JSONL 输出(包含完整请求信息)
katana -u http://target.com -jsonl -o results.jsonl
# 已知文件扫描(robots.txt, sitemap.xml)
katana -u http://target.com -known-files all -d 3
# 技术检测
katana -u http://target.com -tech-detect
# XHR 请求提取(Headless 模式)
katana -u http://target.com -headless -xhr-extraction
# 爬虫 → 漏洞扫描
katana -u http://target.com -jc -silent | nuclei -severity critical,high
# 爬虫 → 筛选 JS 文件 → 敏感信息提取
katana -u http://target.com -jc -silent -em js | while read url; do
curl -s "$url" | grep -iE "api_key|password|secret|token"
done
# 爬虫 → 参数提取 → SQLi 测试
katana -u http://target.com -jc -silent | grep "?" | sort -u > params.txt
# 子域名 → 存活 → 爬虫 → 漏洞扫描(完整链)
subfinder -d target.com -silent | httpx -silent | katana -jc -silent | nuclei
| 场景 | 策略 | 命令 |
|------|------|------|
| 快速发现(比赛) | 浅爬 + JS | katana -u URL -d 2 -jc -silent |
| 全面爬取 | 深爬 + Headless | katana -u URL -d 5 -headless -jc |
| API 端点发现 | JS 解析 + 过滤 | katana -u URL -jc -em js,json -silent |
| 认证后爬取 | 带 Cookie | katana -u URL -H "Cookie: ..." -jc |
| SPA 应用 | Headless 必须 | katana -u URL -headless -system-chrome |
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 伪造的场景都应使用此技能