基于爬虫,动态收集扫描目标相关信息后进行二次整理形成字典规则,利用动态规则的多线程敏感信息泄露检测工具,支持多种个性化定制选项,包括:
- 规则字典多样化定义(支持正则、整数、字符、日期)
- 扫描域名策略(域名全称、主域名、域名的名字)
- 自定义HTTP状态码
- 支持动态配置HTTP脚本扩展名
- 自定义判断文件是否存在正则
- 返回结果集误报清洗选项
- HTTPS服务器证书校验
- 线程数定义
- HTTP请求超时时间
- 是否允许URL重定向
- 是否开启Session支持,在发出的所有请求之间保持cookies
- 是否允许随机User-Agent
- 是否允许随机X-Forwarded-For
- 动态代理列表配置(支持TOR)
- HTTP头自定义
更多使用详情参照 /config.py
python wyspider.py http://wuyun.org php
规则使用简介
在字典中使用规则引擎,必须以 { 括号开头,并以 }$ 结尾,类型后面跟的 # 代表生成数据的长度,$ 代表单步值,开始-结束,数据的起始区间设置。
{规则=类型#长度$step:开始-结束}$
规则 |
说明 |
re |
正则引擎 |
int |
整数 |
str |
字符 |
date |
日期 |
正则引擎类型
使用实例
{re=引擎名称:正则表达式}$
{re=exrex:[0-9]}$
[u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9']
{re=exrex:[aA]dmin[1-5]}$
[u'admin1', u'admin2', u'admin3', u'admin4', u'admin5', u'Admin1', u'Admin2', u'Admin3', u'Admin4', u'Admin5']
整数类规则
类型 |
使用实例 |
顺序递进 处理step |
{int=series$单步值:开始数字-结束数字}$ |
{int=series$2:0-10}$
[0, 2, 4, 6, 8, 10]
类型 |
使用实例 |
连号数字 |
{int=digits#长度:开始数字-结束数字}$ |
{int=digits#3:0-9}$
[123, 234, 345, 456, 567, 678, 789]
类型 |
使用实例 |
重叠数字 |
{int=overlap#长度:开始数字-结束数字}$ |
{int=overlap#4:0-9}$
[1111, 2222, 3333, 4444, 5555, 6666, 7777, 8888, 9999]
字符类规则
类型 |
使用实例 |
顺序递进 处理step |
{str=letters#长度:开始字符-结束字符}$ |
{str=letters#3:a-g}$
['abc', 'bcd', 'cde', 'def', 'efg']
类型 |
使用实例 |
重叠字母 |
{str=overlap#长度:开始字符-结束字符}$ |
{str=overlap#4:a-g}$
['aaaa', 'bbbb', 'cccc', 'dddd', 'eeee', 'ffff', 'gggg']
日期类规则
类型 |
使用实例 |
年 |
{date=year:开始年份-结束年份}$ |
{date=year:2010-2015}$
[2010, 2011, 2012, 2013, 2014, 2015]
类型 |
使用实例 |
月 |
{date=mon:开始月份-结束月份}$ |
{date=mon:01-12}$
[1, 01, 2, 02, 3, 03, ‘...’, 9, 09]
类型 |
使用实例 |
日 |
{date=day:开始日-结束日}$ |
{date=day:01-31}$
[1, 01, 2, 02, 3, 03, 4, 04, 5, 05, ‘...’, 31]
类型 |
使用实例 |
年月 |
{date=year_mon:开始年月-结束年月}$ |
{date=year_mon:201501-201504}$
[201501, 20151, 201502, 20152, ‘...’, 201504]
类型 |
使用实例 |
月日 |
{date=mon_day:开始月日-结束月日}$ |
{date=mon_day:0501-0531}$
[0501, 51, 0502, 52, 0506, 56, 0511, 511, ‘...’, 0530,530]
类型 |
使用实例 |
年月日 |
{date=year_mon_day:开始年月日-结束年月日}$ |
{date=year_mon_day:20150101-20150401}$
[20150101, 201511, 20150112, 2015112, ‘...’, 20150401]
类型 |
使用实例 |
月日年 |
{date=mon_day_year:开始月日年-结束月日年}$ |
{date=mon_day_year:01012015-04012015}$
[01012015, 112015, 01122015, 1122015, ‘...’, 04012015]
安装
CentOS 6.* 7.* Linux
安装 setuptools, pip
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
wget https://pypi.python.org/packages/source/p/pip/pip-6.0.8.tar.gz
tar zvxf pip-6.0.8.tar.gz
cd pip-6.0.8
python setup.py install
安装 lxml解析器 & beautifulsoup4
yum install python-devel libxml2-devel libxslt-devel
pip install lxml beautifulsoup4