expl0itlab/xtra
GitHub: expl0itlab/xtra
XTRA 是一款纯 Bash 编写的多页面 Web 侦察工具,用于批量提取目标站点的联系方式、链接、技术栈和安全标头等信息,服务于安全评估和漏洞赏金场景。
Stars: 2 | Forks: 1
# XTRA v2.0 — Web 侦察工具





XTRA 是一款使用纯 Bash 编写的多页面 Web 侦察工具。它会抓取整个站点而不仅仅是单个页面,并提取邮箱、电话号码、社交媒体主页、链接、元数据、HTTP 标头、HTML 注释和技术栈信息。结果将保存在井然有序的输出文件中,并支持可选的 JSON 和 CSV 导出。
## v2.0 的新特性
| 功能 | v1.0 | v2.0 |
|---|---|---|
| 扫描页面数 | 1 | 最多 500+(可配置) |
| 电话准确度 | 误报率高 | `tel:` href 优先 + 国际格式 |
| 社交媒体主页 | ✗ | ✓ 12 个平台 |
| 技术检测 | ✗ | ✓ 40+ 特征 |
| HTTP 标头分析 | ✗ | ✓ 原始标头 + 安全漏洞报告 |
| HTML 注释提取 | ✗ | ✓ |
| robots.txt / sitemap.xml | ✗ | ✓ 自动抓取,URL 加入队列 |
| JSON 导出 | ✗ | ✓ |
| CSV 导出 | ✗ | ✓ |
| 内部与外部链接 | ✗ | ✓ 自动拆分 |
| 安静 / 详细模式 | ✗ | ✓ |
| 抓取速率限制 | ✗ | ✓ 可配置延迟 |
## 功能
### 爬虫
- 可配置深度和页面限制的递归式多页面抓取
- 跟踪已访问的 URL 以防止循环
- 域名范围限定 —— 仅停留在目标站点,不会漫游到第三方
- 页面之间的礼貌请求延迟(可配置)
- 解析 robots.txt 中禁止访问的路径;sitemap.xml 中的 URL 直接输入到抓取队列中
### 提取
- **邮箱** —— 自动去重,过滤掉类似 `example@test.com` 的占位符地址
- **电话号码** —— 首先从 `tel:` href 属性中提取(高可信度),然后提取国际和美国格式
- **社交媒体主页** —— Twitter/X、LinkedIn(个人 + 公司)、GitHub、Instagram、Facebook、YouTube、TikTok、Telegram、Reddit
- **链接** —— 所有发现的 URL,自动拆分为内部和外部文件
- **HTML 注释** —— 所有 `` 块,通常包含内部路径、凭据或开发者笔记
- **页面元数据** —— 每个抓取页面的标题、描述、关键词、字符集
### 情报
- **技术检测** —— 40+ 项特征,涵盖 CMS(WordPress、Drupal、Shopify、Joomla),JS 框架(React、Vue、Angular、Next.js),分析工具(GA4、GTM、Hotjar、Mixpanel),CDN(Cloudflare、Fastly、CloudFront),服务器软件(Nginx、Apache、Varnish),电子商务平台等
- **HTTP 标头分析** —— 每个页面保存原始标头;一份单独的安全报告会标记缺失的 `X-Frame-Options`、`Content-Security-Policy`、`Strict-Transport-Security` 和 `X-XSS-Protection`
### 输出
- 整洁、带有时间戳的输出文件夹
- 可选的 JSON 导出(结构化,兼容 jq)
- 可选的 CSV 导出(扁平化的类型/值格式,适用于电子表格)
- 用于脚本编写的安静模式;用于调试的详细模式
- 每次扫描结束时打印摘要表
## 安装说明
**标准安装 (Linux / macOS / WSL)**
```
git clone https://github.com/expl0itlab/xtra.git
cd xtra
chmod +x xtra.sh
```
**一行命令**
```
curl -sL https://raw.githubusercontent.com/expl0itlab/xtra/main/xtra.sh -o xtra.sh && chmod +x xtra.sh
```
**Termux (Android)**
```
pkg install git curl -y
git clone https://github.com/expl0itlab/xtra.git
cd xtra
chmod +x xtra.sh
```
**依赖项** —— `curl`、`grep`、`sed`、`awk`、`sort`(在 Linux/macOS 上均为标准配置)。`python3` 为可选项,如果安装则可启用完整的 JSON 导出;如果未安装,将使用基本的备用方案。
## 运行说明
### 交互模式
```
./xtra.sh
```
提示输入 URL、扫描模式、抓取设置和输出选项。
### CLI 模式
```
./xtra.sh -u [options]
```
### 选项
| 选项 | 简写 | 描述 | 默认值 |
|---|---|---|---|
| `--url URL` | `-u` | 目标 URL(必填) | — |
| `--fast` | `-f` | 完全抓取,提取所有内容 | ✓ 默认 |
| `--single` | `-s` | 仅扫描单个页面 | — |
| `--meta` | `-m` | 仅限元数据 + 标头 + 技术检测 | — |
| `--depth N` | `-d` | 最大抓取深度 | 3 |
| `--pages N` | `-p` | 最大抓取页面数 | 50 |
| `--delay N` | `-w` | 请求之间的秒数 | 1 |
| `--output DIR` | `-o` | 输出目录 | 自动添加时间戳 |
| `--json` | | 将结果导出为 JSON | 关闭 |
| `--csv` | | 将结果导出为 CSV | 关闭 |
| `--quiet` | `-q` | 抑制除错误和摘要之外的所有输出 | 关闭 |
| `--verbose` | `-v` | 显示每个请求和匹配项 | 关闭 |
| `--help` | `-h` | 显示帮助 | — |
## 示例
```
# 全站爬取 — 最多 100 个页面,导出 JSON,保存到 ./results
./xtra.sh -u https://example.com -f -p 100 --json -o ./results
# 快速单页扫描
./xtra.sh -u https://example.com -s
# 仅 Metadata 和技术检测,静默输出
./xtra.sh -u https://example.com -m -q
# 深度爬取,请求间设置 2 秒礼貌延迟
./xtra.sh -u https://example.com -f -d 5 -p 200 -w 2
# 完整爬取,同时导出 JSON 和 CSV
./xtra.sh -u https://example.com -f --json --csv
# 用于调试的 Verbose 模式
./xtra.sh -u https://example.com -s -v
```
## 输出结构
```
xtra_results_20250615_142301/
├── emails.txt Extracted email addresses (deduplicated)
├── phones.txt Phone numbers
├── socials.txt Social media profile URLs
├── links.txt All discovered URLs
├── links_internal.txt URLs on the same domain
├── links_external.txt URLs on external domains
├── metadata.txt Per-page title, description, keywords, charset
├── html_comments.txt All HTML source comments
├── technologies.txt Detected tech stack
├── headers.txt Raw HTTP response headers per page
├── security_headers.txt Missing security headers flagged per page
├── robots.txt Target's robots.txt (if present)
├── results.json Full structured export (with --json)
├── results.csv Flat type/value export (with --csv)
└── report.txt Scan summary report
```
### JSON 结构
```
{
"meta": {
"tool": "XTRA",
"version": "2.0",
"timestamp": "2025-06-15T14:23:01Z",
"target": "https://example.com",
"base_domain": "example.com",
"scan_mode": "crawl",
"pages_crawled": 42
},
"emails": ["contact@example.com"],
"phones": ["+1 800 555 0100"],
"socials": ["https://github.com/example"],
"links": ["https://example.com/about"],
"links_internal": ["https://example.com/about"],
"links_external": ["https://cdn.example.net"],
"technologies": ["WordPress", "Cloudflare", "jQuery"],
"security_missing_headers": ["Content-Security-Policy", "X-Frame-Options"]
}
```
## 检测到的技术
XTRA 可对以下类别的 40+ 项技术进行指纹识别:
**CMS** —— WordPress、Joomla、Drupal、Magento、Shopify、Wix、Squarespace、Ghost
**框架 / 语言** —— Laravel、Django、Ruby on Rails、ASP.NET、PHP
**JavaScript** —— React、Vue.js、Angular、Next.js、Nuxt.js、jQuery
**UI / CSS** —— Bootstrap、Tailwind CSS、Bulma
**分析工具** —— Google Analytics 4、Google Tag Manager、Hotjar、Matomo、Mixpanel
**CDN / 基础设施** —— Cloudflare、Fastly、AWS CloudFront、Nginx、Apache、Varnish
**电子商务** —— WooCommerce、PrestaShop、OpenCart
**支持 / 聊天** —— Intercom、Zendesk、Algolia
**安全** —— reCAPTCHA、hCaptcha
## 安全标头分析
对于抓取的每个页面,XTRA 都会检查是否存在以下标头,并在 `security_headers.txt` 中标记出任何缺失的标头:
- `X-Frame-Options` —— 点击劫持保护
- `Content-Security-Policy` —— XSS 和注入缓解
- `Strict-Transport-Security` —— 强制执行 HTTPS
- `X-XSS-Protection` —— 旧版 XSS 过滤器
- `Access-Control-Allow-Origin` —— CORS 策略
## 故障排除
**权限不足**
```
chmod +x xtra.sh
```
**缺少依赖项(手动安装)**
```
# Debian / Ubuntu
sudo apt-get install curl grep sed gawk
# Arch
sudo pacman -S curl grep sed gawk
# Termux
pkg install curl grep sed gawk
```
**已知页面包含邮箱但无结果**
带上 `-v`(详细模式)运行以查看每个请求。该网站可能是 JavaScript 渲染的 —— XTRA 仅适用于服务器渲染的 HTML,且不执行 JavaScript。对于重度依赖 JS 的网站,请将 XTRA 与 `wget --mirror` 或 Playwright 等工具结合使用以预渲染页面。
**很快被拦截**
增加请求之间的延迟:`-w 3` 或更高。一些网站还会拦截默认的 user-agent —— v2.0 中使用的完整 Chrome UA 会有所帮助,但激进的 WAF 仍可能会拦截自动化请求。
**JSON 导出失败**
确保已安装 `python3`。当 python3 不可用时,将使用基本的 JSON 备用方案(仅限邮箱)。
## 道德与合法使用
XTRA 的构建初衷是用于:
- 对您拥有或获得**书面许可**进行测试的系统进行安全评估
- 漏洞赏金计划 —— 仅针对范围内的目标
- 有关 Web 技术的教育用途和学习
- 授权的渗透测试活动
**请勿在未经授权的情况下使用 XTRA 扫描系统。** 未经授权的扫描可能违反《计算机欺诈和滥用法》(美国)、《计算机滥用法》(英国)以及其他司法管辖区的同等法律。您需对如何使用此工具负全部责任。
## 许可证
MIT 许可证 —— 详情请参阅 [LICENSE](LICENSE)。
*由 Exploit Lab | Tremor 开发 — XTRA v2.0 | 2026*
标签:Bash, ESC4, OSINT, 实时处理, 应用安全