目录
项目简介
Lonkero 是一个专业级的Web安全扫描器,专为真实的渗透测试而设计。它使用Rust语言编写,具有以下特点:
核心特性
- 125+ 高级扫描器 - 覆盖各种Web漏洞类型
- 智能模式 v3.0 - 上下文感知扫描,自动技术检测
- ML自动学习 - 从每次扫描中学习,减少误报
- 扫描器智能系统 - 实时扫描器通信,贝叶斯假设测试
- 低误报率 - 仅5%误报率(行业平均水平20-30%)
- 快速扫描 - 比传统扫描器快80%
- 现代技术栈支持 - Next.js, React, GraphQL, gRPC, WebSocket, HTTP/3
v3.6 新特性
- 基于证明的XSS扫描器 - 无需Chrome依赖
- 数学证明可利用性 - 检测16种反射上下文
- 300倍速度提升 - 每个URL约200ms
- 参数过滤器改进 - 更好的误报预防
系统要求
最低要求
- 操作系统: Linux, macOS, Windows (支持WSL2)
- 内存: 2GB RAM
- 磁盘空间: 100MB
- 网络: 互联网连接(用于某些OOB检测功能)
推荐配置
- 操作系统: Linux (Ubuntu 20.04+) 或 macOS (12+)
- 内存: 4GB+ RAM
- CPU: 多核处理器
- Rust工具链: 1.70+ (如需从源码编译)
安装方法
方法一:使用预编译二进制文件(推荐)
Linux/macOS
bash
# 下载最新版本
curl -L https://github.com/bountyyfi/lonkero/releases/latest/download/lonkero-x86_64-unknown-linux-gnu.tar.gz -o lonkero.tar.gz
# 解压
tar -xzf lonkero.tar.gz
# 移动到PATH目录
sudo mv lonkero /usr/local/bin/
# 验证安装
lonkero --version
Windows (PowerShell)
powershell
# 下载最新版本
Invoke-WebRequest -Uri "https://github.com/bountyyfi/lonkero/releases/latest/download/lonkero-x86_64-pc-windows-msvc.zip" -OutFile "lonkero.zip"
# 解压
Expand-Archive -Path "lonkero.zip" -DestinationPath "."
# 将目录添加到PATH(或者直接使用完整路径)
方法二:使用Cargo安装(需要Rust环境)
bash
# 确保已安装Rust工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 安装Lonkero
cargo install lonkero
# 验证安装
lonkero --version
方法三:从源码编译
bash
# 克隆仓库
git clone https://github.com/bountyyfi/lonkero.git
cd lonkero
# 编译发布版本
cargo build --release
# 二进制文件位于 target/release/lonkero
sudo cp target/release/lonkero /usr/local/bin/
方法四:使用Docker
bash
# 拉取镜像
docker pull bountyyfi/lonkero:latest
# 运行扫描
docker run --rm -v $(pwd):/scan bountyyfi/lonkero scan https://example.com
快速开始
基础扫描
bash
# 扫描单个URL
lonkero scan https://example.com
# 扫描多个URL
lonkero scan https://example.com https://api.example.com
# 从文件读取目标列表
lonkero scan -i targets.txt
指定输出格式
bash
# JSON格式输出
lonkero scan https://example.com -o report.json
# HTML报告
lonkero scan https://example.com -o report.html
# 终端详细输出
lonkero scan https://example.com -v
常用命令
扫描命令
bash
# 基础扫描
lonkero scan <URL>
# 带认证的扫描
lonkero scan https://example.com --header "Authorization: Bearer TOKEN"
# 设置请求延迟
lonkero scan https://example.com --delay 100
# 设置并发数
lonkero scan https://example.com --concurrency 10
# 设置超时时间
lonkero scan https://example.com --timeout 30
目标发现
bash
# 爬虫模式
lonkero crawl https://example.com
# 指定爬取深度
lonkero crawl https://example.com --depth 3
# 设置爬取限制
lonkero crawl https://example.com --max-pages 100
报告生成
bash
# 生成JSON报告
lonkero scan https://example.com --output json -o report.json
# 生成HTML报告
lonkero scan https://example.com --output html -o report.html
# 生成Markdown报告
lonkero scan https://example.com --output markdown -o report.md
高级功能
智能模式
bash
# 启用智能模式(默认)
lonkero scan https://example.com --intelligent-mode
# 禁用智能模式
lonkero scan https://example.com --no-intelligent-mode
载荷强度控制
bash
# 自动模式(默认)- 基于风险评估
lonkero scan https://example.com --payload-intensity auto
# 最小强度 - 每个参数50个载荷
lonkero scan https://example.com --payload-intensity minimal
# 标准强度 - 每个参数500个载荷
lonkero scan https://example.com --payload-intensity standard
# 最大强度 - 每个参数12,450+个载荷
lonkero scan https://example.com --payload-intensity maximum
扫描器选择
bash
# 启用特定扫描器
lonkero scan https://example.com --scanners xss,sqli,ssrf
# 禁用特定扫描器
lonkero scan https://example.com --exclude-scanners csrf,info_disclosure
# 列出所有可用扫描器
lonkero list scanners
代理和隧道
bash
# 使用HTTP代理
lonkero scan https://example.com --proxy http://127.0.0.1:8080
# 使用SOCKS代理
lonkero scan https://example.com --proxy socks5://127.0.0.1:1080
# 使用Burp Suite作为代理
lonkero scan https://example.com --proxy http://127.0.0.1:8080
认证支持
bash
# Basic认证
lonkero scan https://example.com --auth basic --username user --password pass
# Bearer Token
lonkero scan https://example.com --header "Authorization: Bearer TOKEN"
# Cookie认证
lonkero scan https://example.com --cookie "session=abc123"
配置选项
创建配置文件
创建 lonkero.toml 文件:
toml
# 基础设置
general = {
timeout = 30
delay = 100
concurrency = 10
user_agent = "Lonkero/3.6"
}
# 扫描设置
scan = {
intelligent_mode = true
payload_intensity = "auto"
max_depth = 3
}
# 输出设置
output = {
format = "json"
verbose = false
include_response = false
}
# 代理设置
[proxy]
enabled = true
url = "http://127.0.0.1:8080"
# 扫描器配置
[scanners]
enabled = ["xss", "sqli", "ssrf", "rce"]
disabled = ["csrf", "info_disclosure"]
使用配置文件
bash
# 指定配置文件
lonkero scan https://example.com --config lonkero.toml
# 使用默认配置文件(当前目录的lonkero.toml)
lonkero scan https://example.com
常见问题
Q1: 安装后无法找到命令?
A: 确保二进制文件在PATH中,或使用完整路径:
bash
# 临时添加到PATH
export PATH=$PATH:/path/to/lonkero
# 永久添加(添加到 ~/.bashrc 或 ~/.zshrc)
echo 'export PATH=$PATH:/path/to/lonkero' >> ~/.bashrc
source ~/.bashrc
Q2: 扫描时出现连接错误?
A: 检查网络连接和目标URL是否可访问:
bash
# 测试连接
curl -I https://example.com
# 使用代理
lonkero scan https://example.com --proxy http://proxy:port
Q3: 如何减少误报?
A: 使用智能模式和适当的载荷强度:
bash
# 使用智能模式
lonkero scan https://example.com --intelligent-mode
# 使用标准或最小载荷强度
lonkero scan https://example.com --payload-intensity standard
Q4: 扫描速度太慢?
A: 调整并发数和载荷强度:
bash
# 增加并发数
lonkero scan https://example.com --concurrency 20
# 使用最小载荷强度
lonkero scan https://example.com --payload-intensity minimal
# 减少延迟
lonkero scan https://example.com --delay 50
Q5: 如何处理需要认证的网站?
A: 使用认证选项:
bash
# Bearer Token
lonkero scan https://api.example.com --header "Authorization: Bearer TOKEN"
# Cookie
lonkero scan https://example.com --cookie "session=your_session_id"
# Basic认证
lonkero scan https://example.com --auth basic --username user --password pass
Q6: 权限被拒绝?
A: 使用sudo(Linux/macOS)或以管理员身份运行(Windows):
bash
# Linux/macOS
sudo lonkero scan https://example.com
# Windows(以管理员身份运行PowerShell)
lonkero scan https://example.com
扫描器列表
Lonkero包含125+个扫描器,主要包括:
| 类别 | 扫描器 |
|---|---|
| 注入攻击 | SQL注入, NoSQL注入, 命令注入, LDAP注入, XPath注入 |
| 跨站脚本 | 反射型XSS, 存储型XSS, DOM XSS, 模板注入 |
| 服务器端 | SSRF, XXE, 任意文件读取, 任意文件写入 |
| 认证授权 | 认证绕过, 权限提升, 会话固定 |
| 业务逻辑 | 支付绕过, 优惠券滥用, 竞态条件 |
| 信息泄露 | 敏感信息泄露, 错误信息泄露, 服务器信息泄露 |
| 配置问题 | 安全头缺失, CORS配置错误, CSP配置错误 |
| 其他 | CSRF, 点击劫持, 开放重定向, HTTP参数污染 |
| 查看完整列表: |
bash
lonkero list scanners
📚 更多资源
- GitHub仓库: https://github.com/bountyyfi/lonkero
- 官方文档 : 项目README
- 问题反馈 : GitHub Issues
- 许可证: 查看项目LICENSE文件
⚠️ 使用声明
重要提醒:
- 仅对您有明确授权的系统进行安全测试
- 未经授权的渗透测试是非法的
- 遵守当地法律法规和道德准则
- 本工具仅用于安全研究和授权测试
🎓 学习建议
- 新手:先从简单的目标开始,使用默认设置
- 进阶:学习配置文件,自定义扫描选项
- 高级:研究特定扫描器,编写自定义规则
- 专业:集成到CI/CD流程,建立自动化测试