Web目录扫描器

3,046次阅读
一条评论

wscan是一个基于协程(asyncio、aiohttp)的网站目录扫描器,用于网站路径的收集以及探测,主要分为两个功能:

  • 路径爆破探测
  • 网站目录爬取

然后整理成一张树图展现出网站的结构以及各个路径的响应情况
对于路径爆破,我们的思路很快就能出来

  1. 准备个爆破字典,取出一个爆破路径
  2. 请求Target URL+爆破路径,取回响应码
  3. 对响应码进行分析并分类显示结果
  4. 开始下一个路径的爆破

Web目录扫描器

代码目录结构:

wscan
│  wscan.py
├─fuzz
│   │   dirList.txt     #Fuzz路径文件
│   └─  user_agent.txt    # 请求所需的User-agent 列表
└─lib 
    ├─controller   
    │  └─ Controller.py    # 主控制流程
    ├─exception
    │  └─ ScanException.py    # 异常处理
    ├─io
    │  │  Argument.py    # 参数接收相关
    │  └─ ColorOutput.py    # 输出相关
    ├─portscan
    │  └─ portScan.py    # 端口扫描(由于功能有点简陋,还未加进主程序)
    └─tree
       │  DirTree.py    # 路径树
       └─ Node.py    # 节点

安装:

pip install wscan

使用方式:

wscan [-u URL] [-f] [-m] [Extend options]
  • -u URL: 目标URL
  • -f: 启用Fuzz功能
  • -m: 爬取网站获取网站目录结构
  • -b BASE: Fuzz的前缀地址 e.g -b /cms/app. 然后将会在http[s]://host/cms/app/的基础上进行爆破
  • -e EXTEND: 爆破的后缀名,默认为php
  • -max NUM: 最大协程数
  • -404 NOT_FOUND: 自定义404标识, 爬取和Fuzz时会正则匹配该值来判断是不是自定义404页面,减少误报. e.g. “Not found”
  • –s: 爬取静态资源(目前只支持图片img和JSscript)
  • -v, -vv: 详细的输出信息
  • -h: 帮助

演示动画:

Web目录扫描器

项目下载:

 此处含有隐藏内容,请提交评论并审核通过刷新后即可查看!

Hasukannal
版权声明:本站原创文章,由 Hasukannal 2019-01-29发表,共计815字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
验证码
载入中...
我叫史迪奇 评论达人 LV.1
2021-05-17 20:31:20 回复