/weakfilescan

动态多线程敏感信息泄露检测工具

Primary LanguagePython

weakfilescan

基于爬虫,动态收集扫描目标相关信息后进行二次整理形成字典规则,利用动态规则的多线程敏感信息泄露检测工具,支持多种个性化定制选项,包括:

  • 规则字典多样化定义(支持正则、整数、字符、日期)
  • 扫描域名策略(域名全称、主域名、域名的名字)
  • 自定义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