项目地址
https://github.com/pmiaowu/PmWebDirScan
简介
PmWebDirScan:多线程的web目录扫描工具
免责声明
该工具仅用于安全自查检测由于传播、利用此工具所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。作者拥有对此工具的修改和解释权。未经网络安全部门及相关部门允许,不得善自使用本工具进行任何攻击活动,不得以任何方式将其用于商业目的。注意
字典使用的御剑的字典+自己平时保存的部分字典而成使用方法
$ python3 PmWebDirScan.py --help
usage: PmWebDirScan.py [-h] [-u URL] [-f SCAN_FILE_URL] [-d DICT] [-o OUTPUT]
[-t THREAD] [--timeout TIMEOUT]
[--http_status_code HTTP_STATUS_CODE]
(QAQ)我是一个可怜兮兮不知道好不好用就给强行写出来用作扫描web目录泄露的无辜扫描器. (T^T)
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL 要扫描的url
-f SCAN_FILE_URL, --scan_file_url SCAN_FILE_URL
载入要扫描的url列表txt文件(每个域名换行-文件保存至domain目录)
-d DICT, --dict DICT 提供扫描的字典位置(多个文件请使用`,`分割)
-o OUTPUT, --output OUTPUT
结果输出位置
-t THREAD, --thread THREAD
运行程序的线程数量
--timeout TIMEOUT 超时时间
--http_status_code HTTP_STATUS_CODE
代表扫描成功的http状态码
使用例子
扫描某个域名下的备份文件
$ python3 PmWebDirScan.py -u "baidu.com" -d 专业备份扫描.txt
批量扫描某些域名的备份文件
$ python3 PmWebDirScan.py -f domain_test.txt -d 专业备份扫描.txt
排量扫描文件请放到domain
目录
批量扫描某域名多个字典
$ python3 PmWebDirScan.py -u "baidu.com" -d "专业备份扫描.txt,综合目录.txt"
所有的字典都在dict
目录
扫描结果保存
$ python3 PmWebDirScan.py -u "baidu.com" -d "专业备份扫描.txt,综合目录.txt" -o result_test
执行以后扫描结果将保持至./results/result_test.html
修改扫描线程
$ python3 PmWebDirScan.py -u "baidu.com" -t 100
线程默认是50
修改代表扫描成功的http状态码
$ python3 PmWebDirScan.py -u "baidu.com" --http_status_code "200,301,403"
执行以后 所有状态为 200,301,403 的请求都会认为扫描成功
修改程序超时时间
$ python3 PmWebDirScan.py -u baidu.com --timeout 5
修改以后URL发送超过5秒,将认为超时不存在 默认超时时间为2秒
运行例子
审核编辑 :李倩
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Web
+关注
关注
2文章
1255浏览量
69301 -
多线程
+关注
关注
0文章
277浏览量
19908
原文标题:多线程的web目录扫描工具
文章出处:【微信号:菜鸟学安全,微信公众号:菜鸟学安全】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
socket 多线程编程实现方法
在现代网络编程中,多线程技术被广泛应用于提高服务器的并发处理能力。Socket编程是网络通信的基础,而将多线程技术应用于Socket编程,可以显著提升服务器的性能。 多线程编程的基本概念 多线
Python中多线程和多进程的区别
Python作为一种高级编程语言,提供了多种并发编程的方式,其中多线程与多进程是最常见的两种方式之一。在本文中,我们将探讨Python中多线程与多进程的概念、区别以及如何使用线程池与进程池来提高并发执行效率。
从多线程设计模式到对 CompletableFuture 的应用
最近在开发 延保服务 频道页时,为了提高查询效率,使用到了多线程技术。为了对多线程方案设计有更加充分的了解,在业余时间读完了《图解 Java 多线程设计模式》这本书,觉得收获良多。本篇文章将介绍其中
bootloader开多线程做引导程序,跳app初始化后直接进hardfualt,为什么?
如标题,想做一个远程升级的项目,bootloader引导区域和app都是开多线程跑的,就是自己写了个小的任务调度器,没什么功能主要是想让程序快速的响应,延时不会对其他程序造成堵塞,程序测试
发表于 04-18 06:07
java实现多线程的几种方式
Java实现多线程的几种方式 多线程是指程序中包含了两个或以上的线程,每个线程都可以并行执行不同的任务或操作。Java中的多线程可以提高程序
redis多线程还能保证线程安全吗
是单线程的,多个客户端请求会按序执行,每个请求使用一个线程完成,这样可以避免多线程之间的竞争条件和锁等带来的开销。但是,由于Redis是存储内存中的数据的,当多个客户端同时对同一个数据进行读写操作时,就会存在
redis使用多线程处理操作命令
Redis 是一个使用多线程处理操作命令的开源内存数据库系统。它以其高性能、可扩展性和灵活性而闻名,通常被用作缓存、消息代理和数据存储等各种应用场景。在本文中,我们将详尽、详实、细致地探
mfc多线程编程实例
(图形用户界面)应用程序的开发。在这篇文章中,我们将重点介绍MFC中的多线程编程。 多线程编程在软件开发中非常重要,它可以实现程序的并发执行,提高程序的效率和响应速度。MFC提供了丰富的多线程支持,可以轻松地实现
多线程如何保证数据的同步
多线程编程是一种并发编程的方法,意味着程序中同时运行多个线程,每个线程可独立执行不同的任务,共享同一份数据。由于多线程并发执行的特点,会引发数据同步的问题,即保证多个
多线程并发查询oracle数据库
多线程并发查询Oracle数据库是指在同一时间内有多个线程同时执行数据库查询操作。这种并发查询的方式可以提高系统的吞吐量和响应速度,提高数据库的效率和性能。本文将详细介绍多线程并发查询Oracle
多线程同步的几种方法
多线程同步是指在多个线程并发执行的情况下,为了保证线程执行的正确性和一致性,需要采用特定的方法来协调线程之间的执行顺序和共享资源的访问。下面将介绍几种常见的
评论