
有人问为什么要去扫描网站目录:懂的人自然懂
这个Python脚本的特点:
1.基本完善
2.界面美观(只是画了个图案)
3.可选参数增加了线程数
4.User Agent细节处理
5.多线程显示进度
扫描目标:Metasploitable Linux
代码:WebDirScanner.py:
#-- coding:utf-8 --
author = “Yiqing”
import sys
import threading
import random
from Queue import Queue
from optparse import OptionParsertry:
import requests
except Exception:
print “[!] You need to install requests module!”
print “[!] Usage:pip install requests”
exit()
class WebDirScan:
“”"
Web目录扫描器
“”" def init(self, options):
self.url = options.url
self.file_name = options.file_name
self.count = options.count class DirScan(threading.Thread):
“”"
多线程
“”" def init(self, queue, total):
threading.Thread.init(self)
self.queue = queue
self.total = total def run(self):
while not self.queue.empty():
url = self.queue.get()
# 多线程显示进度
threading.Thread(target=self.msg).start()
try:
r = requests.get(url=url, headers=get_user_agent(), timeout=5)
if r.status_code == 200:
sys.stdout.write(’\r’ + ‘[+]%s\t\t\n’ % url)
# 保存到本地文件,以HTML的格式
result = open(‘result.html’, ‘a+’)
result.write(’’ + url + ‘’)
result.write(’\r\n’)
result.close()
except Exception:
pass def msg(self):
“”"
显示进度
:return:None
“”"
per = 100 - float(self.queue.qsize()) / float(self.total) * 100
percent = “%s Finished| %s All| Scan in %1.f %s” % (
(self.total - self.queue.qsize()), self.total, per, ‘%’)
sys.stdout.write(’\r’ + ‘[*]’ + percent) def start(self):
result = open(‘result.html’, ‘w’)
result.close()
queue = Queue()
f = open(‘dict.txt’, ‘r’)
for i in f.readlines():
queue.put(self.url + “/” + i.rstrip(’\n’))
total = queue.qsize()
threads = []
thread_count = int(self.count)
for i in range(thread_count):
threads.append(self.DirScan(queue, total))
for thread in threads:
thread.start()
for thread in threads:
thread.join()
def get_user_agent():
“”"
User Agent的细节处理
:return:
“”"
user_agent_list = [
{‘User-Agent’: ‘Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30)’},
{‘User-Agent’: ‘Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; en) Opera 11.00’},
{
‘User-Agent’: ‘Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.2) Gecko/2008092313 Ubuntu/8.04 (hardy) Firefox/3.0.2’},
{
‘User-Agent’: ‘Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.1.15) Gecko/20101027 Fedora/3.5.15-1.fc12 Firefox/3.5.15’},
{
‘User-Agent’: ‘Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.551.0 Safari/534.10’},
{‘User-Agent’: ‘Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.2) Gecko/2008092809 Gentoo Firefox/3.0.2’},
{
‘User-Agent’: ‘Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/7.0.544.0’},
{‘User-Agent’: ‘Opera/9.10 (Windows NT 5.2; U; en)’},
{
‘User-Agent’: ‘Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko)’},
{‘User-Agent’: ‘Opera/9.80 (X11; U; Linux i686; en-US; rv:1.9.2.3) Presto/2.2.15 Version/10.10’},
{
‘User-Agent’: ‘Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5’},
{‘User-Agent’: ‘Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9b3) Gecko/2008020514 Firefox/3.0b3’},
{
‘User-Agent’: ‘Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; fr) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16’},
{
‘User-Agent’: ‘Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20’},
{
‘User-Agent’: ‘Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; InfoPath.2)’},
{‘User-Agent’: ‘Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux x86_64; en) Opera 9.60’},
{
‘User-Agent’: ‘Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.366.0 Safari/533.4’},
{‘User-Agent’: ‘Mozilla/5.0 (Windows NT 6.0; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.51’}
] return random.choice(user_agent_list)
def main():
“”"
主函数
:return: None
“”"
print ‘’’
____ _ ____
| _ () _/ | ___ __ _ _ __
| | | | | '_ \ / __/ ` | ’ \
| || | | | ) | (| (| | | | |
|/||| |/ ____,|| |_| Welcome to WebDirScan
Version:1.0 Author: %s
‘’’ % author
parser = OptionParser(‘python WebDirScanner.py -u -f [-t <Thread_count>]’)
parser.add_option(’-u’, ‘–url’, dest=‘url’, type=‘string’, help=‘target url for scan’)
parser.add_option(’-f’, ‘–file’, dest=‘file_name’, type=‘string’, help=‘dictionary filename’)
parser.add_option(’-t’, ‘–thread’, dest=‘count’, type=‘int’, default=10, help=‘scan thread count’)
(options, args) = parser.parse_args()
if options.url and options.file_name:
dirscan = WebDirScan(options)
dirscan.start()
sys.exit(1)
else:
parser.print_help()
sys.exit(1)
if name == ‘main’:
main()
需要一个字典文件:
我存进去了一些,一部分是确定存在的目录
dict.txt
index.php
login
dvwa
phpMyAdmin
dav
twiki
login.php
结果:得到一个HTML文件:
http://192.168.232.129/twikihttp://192.168.232.129/index.phphttp://192.168.232.129/phpMyAdmin
脚本的使用:

文章来自:https://www.itjmd.com/news/show-5382.html
相关推荐
用Python编写一个高效的端口扫描器
PyPortScanner python多线程端口扫描。
Python开发Web扫描器实战
今天继续给大家介绍渗透测试相关知识,本文主要内容是Python开发Web扫描器实战。 一、传统扫描器不足 二、Python自开发Web扫描器实战
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Python弱口令攻击、自定义字典生成,调用Python的exrex库实现,并结合Selenium和BurpSuite实现网站暴库案例;本文将分析Python攻防之构建Web目录扫描器,实现IP代理池。本文参考了爱春秋ADO老师的课程内容,这里也推荐大家观看他Bilibili和ichunqiu的课程,同时也结合了作者之前的编程经验进行讲解。
使用python实现网站目录扫描
使用python实现网站目录扫描。(附代码)
Elasticsearch 8.17.1 JAVA工具类
整理了Elasticsearch8.17最新版的API工具类
ALSA音频开发实战:如何用snd_pcm_avail避免缓冲区溢出(附完整代码)
本文深入探讨了在ALSA音频开发中,如何利用`snd_pcm_avail`函数有效管理环形缓冲区,从而避免音频数据溢出或下溢。通过实战代码示例,详细解析了该函数在播放场景下的核心作用,即实时查询可写入的帧数,并构建了自适应写入循环以实现稳健的流量控制,确保音频流的平滑与稳定。
python3-网站路径扫描
这个脚本是通过异步IO请求,通过创建多个进程来增加扫描速度,通过返回状态码不同来判断是否存在子路径。(如果存在域名泛解析,则需要和目标域名网页的MD5比对,比对相同则表示存在域名泛解析,当然这种判断方式存在误差,后面会同步域名泛解析判断脚本),这里只是熟悉并利用python3异步IO的特性,测试扫描速度。# 2.通过ClientSession对象去发送请求(get, post, delete等)self.urlpath =r'字典文件' #字典文件,可以修改。urlpath:字典文件。
硬件设计--DC/DC电源芯片详解
本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.youkuaiyun.com/wangdapao12138/article/details/79763343 第一次写博客,不喜勿喷,谢谢!!! DC/DC电源指直流转换为直流的电源,从这个定义上看,LDO(低压差线性稳压器)芯片也应该属于D...
【信息收集】用python对目标网站进行 C段扫描 与 旁站扫描(八)
文章目录一、旁站探测1.1 设计思想1.2 代码二、C段扫描2.1 设计思想2.2 代码三、Reference 一、旁站探测 1.1 设计思想 1.旁站的概念 旁站指的是同一服务器上的其他网站,很多时候,有些网站可能不是那么容易访问。那么,可以查看该网站所在的服务器上是否还有其他网站。如果有其他网站的话,可以先拿下其他网站的webshell,然后再提权拿到服务器的权限,最后就自然可以拿下该网站。 2.设计思想 封装domain数据以post方法请求 webscan.cc,进行旁站扫描,本例中返回与bai
DeepSeek研发的精算大模型「精卫」已实现98%精算任务覆盖,中国人寿采用后年节约3.2亿元技术采购成本,形成关键技术替代效应
根据现有资料,精算领域关键技术替代效应的行业标准定义尚未明确具体提及。然而,可以从相关文献中提取一些关键概念和方法来推导出可能的定义。替代效应的基本定义:替代效应是指一种商品价格变动引起另一种商品的相对价格变动,从而导致消费者在维持原有效用水平不变的条件下对商品需求量做出的调整。技术替代效应:在精算领域,技术替代效应可以理解为新技术或新方法对现有技术或方法的替代,从而影响精算模型、数据处理和决策过程。例如,机器学习在精算中的应用日益增长,改变了精算师的工作方式和模型构建方法。。
解决Thingsboard数据下发难题:自定义RPC请求格式的3种方法(含源码修改指南)
本文详细介绍了解决Thingsboard数据下发难题的3种自定义RPC请求格式方法,包括规则链脚本转换、TB-Gateway中间层转换和源码级定制方案。通过实际案例和性能对比,帮助开发者根据项目需求选择最适合的解决方案,提升物联网平台与设备的兼容性。
Python工具开发学习系列——目录扫描(一)
一个用Python编写的目录扫描小工具的编写学习过程记录。
[Python黑帽] 三.编程实现IP及端口扫描器、实现多线程C段扫描器
Python黑帽第三篇文章将分享网络扫描基础知识,编程实现IP及端口扫描器、实现多线程C段扫描器。本文参考了《Python绝技》书籍和i春秋ADO老师的课程内容,这里真心推荐大家去学习ichunqiu课程,同时也结合作者的编程经验进行讲解。希望这篇基础文章对您有所帮助,更希望大家提高安全意识,也欢迎大家讨论。
npm报错 npm WARN deprecated....的问题解决方式
报错 :npm WARN deprecated … 现象:无法进行有效的vue项目的部署以及npm install 命令的执行。 原因一:版本问题 说明:由于npm的版本过低或者过高导致的报错 检查版本: npm -v 如果版本是比较旧的,或者是最新的,这里可以进行对npm的更新和回退。 更新npm版本: npm updated -d 查看可以更新的版本 npm install -g npm 默认安装最新版本 安装回退指定的版本: npm updated -d 查看所有的版本 npm -g i.
YOLOv11全网首发:注意力独家魔改 | 具有切片操作的SimAM注意力,魔改SimAM助力小目标检测
1)直接作为注意力使用,效果秒杀SimAM;2)高效和卷积结合,代替原始网络的卷积操作;
自制Python后台目录扫描器
以前用御剑扫描,但经常会出现bug,不抓流量还不一定能发现,结果可信度不高。当然也可以偷懒使用burpsuite之类的intruder功能来充当扫描器。但为了更好的掌控扫描的情况,就自己写了个python扫描器。代码如下: #!/usr/bin/env python # encoding: utf-8 import requests import threading impo...
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
python文件扫描器_Python开发网站目录扫描器
#-*- coding:utf-8 -*-__author__ = "Yiqing"importsysimportthreadingimportrandomfrom Queue importQueuefrom optparse importOptionParsertry:importrequestsexceptException:print "[!] You need to install req...
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
python多页网站目录_Python开发网站目录扫描器的实现
有人问为什么要去扫描网站目录:懂的人自然懂这个Python脚本的特点:1.基本完善2.界面美观(只是画了个图案)3.可选参数增加了线程数4.User Agent细节处理5.多线程显示进度扫描目标:Metasploitable Linux代码:WebDirScanner.py:# -*- coding:utf-8 -*-__author__ = "Yiqing"import sysimport th...
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
Python开发网站目录扫描器
有人问为什么要去扫描网站目录:懂的人自然懂 这个Python脚本的特点: 1.基本完善 2.界面美观(只是画了个图案) 3.可选参数增加了线程数 4.User Agent细节处理 5.多线程显示进度 扫描目标:Metasploitable Linux 代码:WebDirScanner.py: # -*- coding:utf-8 -*- __author__ =...
动手实现简易网站目录扫描器(桌面窗口版)——WebScannerTkl
效果展示 项目目录,同命令窗口版: 前言 如果你的php环境是phpstudy,在整片文章开始前,请检查是否为2016或2018版,如果是请将phpstudy\PHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dll文件,用5.4.45-nts目录下面的同名文件做替换,5.2.17下的也做同样处理。(保险起见,无论有无隐患,都可以操作下。如果想确认隐患,可打开前述dll文件,查找"eval"关键字。) ...
Python开发网站,常用的目录扫描器详解
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:py3study ( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 ) 有人问为什么要去扫描网站目录:懂的人自然懂 这个Python脚本的特点: 1.基本完善 2.界面美观(只是画了个图案) 3.可选参数增加了线程数 4.User Agent细节
python文件扫描器,Python开发网站,常用的目录扫描器详解
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理以下文章来源于腾讯云 作者:py3study有人问为什么要去扫描网站目录:懂的人自然懂这个Python脚本的特点:1.基本完善2.界面美观(只是画了个图案)3.可选参数增加了线程数4.User Agent细节处理5.多线程显示进度扫描目标:Metasploitable Linux代码...
python 获取用户ip_十七,Python攻防之构建Web目录扫描器及ip代理池(四)
一.Web目录扫描思路1.网站目录和敏感文件扫描网站目录和敏感文件扫描是网站测试中最基本的手段之一。如果通过该方法发现了网站后台,可以尝试暴库、SQL注入等方式进行安全测试;如果发现敏感目录或敏感文件,能帮我们获取如php环境变量、robots.txt、网站指纹等信息;如果扫描出了一些上传的文件,我们甚至可能通过上传功能(一句话恶意代码)获取网站的权限。2.原理在Web目录扫描中,字典是非常重要的...
python写一个web目录扫描器
用到的模块urliib error 小白写代码,大神勿喷。 #coding = utf-8 import urllib.request from urllib import error headers = { &amp;amp;amp;amp;quot;User-Agent&amp;amp;amp;amp;quot;: &amp;amp;amp;amp;quot;Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWe
python目录端口扫描器(多线程)
python端口目录扫描器多线程
2万+



被折叠的 条评论
为什么被折叠?



