【新版首发】BSCAN-高效实
字数 1123 2025-08-10 00:23:58
BSCAN HTTP扫描器使用详解
1. 项目概述
BSCAN是一款基于Golang开发的高效HTTP扫描器,前身为WebAliveScan。它解决了传统扫描器的多个痛点:
- 提供黑名单功能过滤无效页面(如CDN/WAF页面)
- 跨平台能力强(Windows/Linux/Mac)
- 集成指纹识别功能
- 降低误报率(不单纯依赖状态码判断)
2. 核心功能
2.1 基础参数配置
支持以下基础参数(可在config.yml中配置默认值):
-ports:指定扫描端口(如80,443,8080-8090)-threads:指定线程数(默认1024)-allow-redirects:跟踪重定向-timeout:HTTP超时时间(默认3秒)-path:请求路径(如/admin/index.php)
2.2 指纹识别系统
指纹库支持7个字段:
webserver:Web服务器类型framework:框架类型application:应用类型os:操作系统desc:描述信息lang:开发语言expression:匹配表达式
表达式示例:
- webserver: Nginx
expression: response.headers["Server"].icontains("Nginx") || response.body.bcontains(b"<center>nginx</center>")
- application: phpstudy
expression: response.body.bcontains(b"phpstudy for windows")
os: windows
lang: php
2.3 黑名单机制
黑名单支持2个字段:
name:规则名称expression:匹配表达式
示例:
- name: ERROR_CODE
expression: response.status == 400 || response.status == 503 || response.status == 502
- name: ANHENG_WAF
expression: response.body.bcontains(b"iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC")
2.4 自定义POC
POC支持4个字段:
name:POC名称request:HTTP请求配置filter_expr:过滤表达式verify_expr:验证表达式
示例:
name: druid
request:
method: GET
path:
- /druid/login.html
- /druid/index.html
headers:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36
timeout: 5
allow_redirects: true
filter_expr: aw.lang == "java" || aw.lang == ""
verify_expr: response.body.bcontains(b"Druid Stat Index") || response.body.bcontains(b"druid monitor")
3. 实战应用指南
3.1 目标输入格式
支持三种输入格式:
- 域名:
www.baidu.com(使用默认端口) - 域名+端口:
www.baidu.com:80 - 完整URL:
http://www.baidu.com/
3.2 快捷过滤技巧
使用-filter参数进行临时过滤:
./bscan -target target.txt -ports 80,443 -filter response.status==200
过滤后台页面:
./bscan -target target.txt -ports 80,443 -filter response.body.bcontains(b"后台") -path /admin/index.html
3.3 指定单个POC扫描
./bscan -target target.txt -ports 80,443 -exploit -poc pocs/backup.yml
3.4 处理OneForAll结果
cat results/*.csv |awk -F , '{print$6}' > <filepath>
./bscan -target <filepath>
3.5 指纹识别应用
- 在config.yml中定义默认HTTP请求头
- 在指纹库中添加指纹规则
- 扫描结果将显示应用标识
3.6 POC过滤优化
在指纹库定义特定应用指纹后,在POC中设置filter规则,使扫描器只在匹配特定指纹时才执行该POC。
4. 未来计划
- 支持更多输出格式(HTML/Json/XML)
- Fast模式(集成Fofa API)
- 扫描结果数据库存储
- 分布式扫描功能
5. 项目资源
GitHub地址:https://github.com/broken5/bscan
通过合理配置BSCAN的各项功能,可以显著提高渗透测试中信息收集阶段的效率和准确性,特别是在处理大规模目标时效果尤为明显。