温馨提示:请勿用于非授权测试,人在做天在看
声明:本脚本程序完全学习交流共享,请遵守《中华人民共和国网络安全法》,请勿使用非授权测试,如作他用所承受的法律责任一概与作者无关。
实现工具所需的库线程,argparse,请求,sys,队列代码编写和测试插入linux系统(彩色字体输出可能只支持linux系统)
用了多线程和轴向优化扫描速度
用了argparse命令参数解析包优化用户体验👍
主要功能为获取请求请求响应后返回的HTTP状态码判断是否为200,302,403,500等
实现功能主要代码为
#这里使用head请求,只获取报头
resp = requests.head(urls)
#判断返回的http状态码,并输出
if resp.status_code == 200 :
sys.stdout.write('r' + '[*]-----%stt'%urls + "------------"+ GREEN+"200" + none + "n")
elif resp.status_code == 403 :
sys.stdout.write('r' + '[*]-----%stt'%urls + "------------"+ YELLOW+"403" + none + "n")
elif resp.status_code == 302 :
sys.stdout.write('r' + '[*]-----%stt'%urls + "------------"+ cyan+"302" + none + "n")
elif resp.status_code ==500 :
sys.stdout.write('r' + '[*]-----%stt'%urls + "------------"+ red +"500" + none + "n")
用法为
-t线程数(至少5)-w字典(必须)-u(必须)
./dirscan.py -h
usage: dirscan.py [-h] [-t THREAD_NUM] [-u URLS] [-w WORDLISTS]
optional arguments:
-h, --help show this help message and exit
-t THREAD_NUM thread options
-u URLS url options
-w WORDLISTS wordlists options
例子:
./dirscan.py -w /usr/share/wordlists/wfuzz/general/common.txt -u xxxxxx
xxxxxx.com -t 5
项目地址:http://www.khan.org.cn/index.php/2020/01/29/web目录扫描/
手握日月摘星辰,安全路上永不止步。
- Khan攻防安全实验室
本文始发于微信公众号(Khan安全攻防实验室):Python3 - 编写web目录扫描工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论