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