注意:此脚本可能会违反网站的使用条款和法律法规。在使用此脚本之前,请确保您有权进行此类攻击,并且仅攻击您有权攻击的目标。

主要思路如下:

  • build_wordlist

    函数:从给定的单词列表文件中构建单词队列。如果指定了恢复点,则从该点开始构建队列。

  • dir_bruter

    函数:尝试使用给定的单词列表中的每个单词进行目录爆破。如果指定了扩展名,则还会尝试使用每个单词加上扩展名进行目录爆破。如果找到了有效的URL,则会打印出来。

  • 主函数:从用户输入中获取目标URL和单词列表文件路径。然后使用build_wordlist函数构建单词队列,并使用多线程启动dir_bruter函数进行目录爆破。

实际参考如下:

# 导入必要的库
from turtle import done
import urllib.request
import urllib.error
import urllib.parse
import threading
import queue

# 设置常量
threads       = 50  # 线程数
target        = input("\nInsira URL:")  # 目标URL
wordlist      = "D:\Meu jogos Meus documentos\ProgetoNovo\small.txt"  # 字典文件路径
resume        = None  # 恢复点
user_agent    = "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0"  # 用户代理

# 输出提示信息
print("\033[31m\n\t******* WEBSITE BRUTE FORCE ATTACK *******\033[m\n\n")

# 定义函数:读取字典文件
def build_wordlist(wordlist):
    # 打开字典文件
    fd = open(wordlist,"r")
    # 读取文件内容
    raw_words = [line.rstrip('\n') for line in fd]
    # 关闭文件
    fd.close()
    # 初始化变量
    word = raw_words
    found_resume = False
    words        = queue.Queue()
    # 遍历字典文件中的每个单词
    for word in raw_words:
        # 如果有恢复点,则从恢复点开始
        if resume:
            if found_resume:
                words.put(word)
            else:
                if word == resume:
                    found_resume = True 
                    print("Resuming wordlist from: %s" % (resume))
        else:
            words.put(word)
    return words

def dir_bruter(extensions=None):
    # 定义一个目录爆破函数,用于尝试每个目录
    while not word_queue.empty():
        # 当单词队列不为空时,获取队列中的下一个单词
        attempt = word_queue.get()
        attempt_list = []

# 如果单词中没有".",则将其添加到目录列表中
        if "." not in attempt:
            attempt_list.append("/%s/" % (attempt))
        else:
            attempt_list.append("/%s" % (attempt))

# 如果有扩展名,则将其添加到目录列表中 
        if extensions:
            for extension in extensions:
                attempt_list.append("/%s%s" % (attempt, extension))
        # 尝试每个目录
        for brute in attempt_list:

url = "%s%s" % (target, urllib.parse.quote(brute))

try:

# 构建请求头并发送请求
                header = {"User-Agent": user_agent}
                request = urllib.request.Request(url, headers=header)

response = urllib.request.urlopen(request)

# 如果响应的长度大于0,则表示目录存在

if len(response.read()):
                    print("\033[32m[%d] => %s" % (response.code, url))

except urllib.error.HTTPError as e:

# 如果响应代码不是404,则表示目录存在         
                if e.code != 404:
                    print("\033[31m !!! %d => %s" % (e.code, url))
                pass
            except urllib.error.URLError:
                pass

word_queue = build_wordlist(wordlist)
extensions = [".php",".bak",".orig",".inc"]
print("[*] Iniciando o Brute com Wordlist\n")

temp = 0
for i in range(threads):
    temp = temp + 1;
    t = threading.Thread(target=dir_bruter,args=(extensions,))
    t.start() 
# 如果线程数达到49,输出攻击结束的提示信息
if temp == 49:             
    print("************ ATAQUE DE FORÇA BRUTA TERMINADO ************")

有不同的方式可以加q讨论:99270043

再次提示注意:此脚本可能会违反网站的使用条款和法律法规。在使用此脚本之前,请确保您有权进行此类攻击,并且仅攻击您有权攻击的目标。

Python脚本,网站暴力破解攻击相关推荐

  1. 暴力破解攻击工具汇总——字典很关键,肉鸡也关键

    lasercrack是一款爆力破解工具,ruby写的,现如今市面上常见的暴力工具如hydra,medusa都有着不错的破解效率. 破解RDP的软件也有很多,比如ncrack和Fast RDP Brut ...

  2. 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由SQL GM 发表于云+社区专栏 介绍 对于SSH服务的常见的攻击就是暴力破解攻击--远程攻击者通过不同的密码来无限次地进行登录尝试. ...

  3. 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击 1

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由SQL GM 发表于云+社区专栏 介绍 对于SSH服务的常见的攻击就是暴力破解攻击--远程攻击者通过不同的密码来无限次地进行登录尝试. ...

  4. 手把手教你用Python进行SSH暴力破解

    暴力破解属于密码破解的一种,也是最常见的破解方法之一,通过不断的尝试来达到破解的目的,所以暴力破解的本质就是一种枚举. 现在也有很多流行的破解软件,不过个人觉得装上kail其实也就啥都有了,但是今天我 ...

  5. 利用Python自动生成暴力破解的字典

    Python是一款非常强大的语言.用于测试时它非常有效,因此Python越来越受到欢迎. 因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途. 前提要求 1,Pyth ...

  6. DVWA 之暴力破解攻击(Brute Force)

    暴力破解(Brute Force)的意思是攻击者借助计算机的高速计算不停枚举所有可能的用户名和密码,直到尝试出正确的组合,成功登录系统.理论上,只要字典足够大,破解总是会成功的.阻止暴力破解的最有效方 ...

  7. Python黑科技——暴力破解邻居家的WiFi密码,用WiFi不需要求人

    流量不够用怎么办? 随着时代的发展,流量也是越来越不够用了,办无限网卡吗?月租太贵不划算,还是用Wi-Fi舒服,不用担心流量用没了,今天用python教大家写一个暴力破解Wi-Fi的程序,Wi-Fi在 ...

  8. python生成字典暴力破解

    目标:python生成一个字典来暴力破解这样,可爆破验证码等 将print的int型转换成str型结果输出到文件中,比如文件在D:\out.txt: i = 100000 w = open('hell ...

  9. python脚本实现~DNS欺骗攻击

    DNS     DNS即域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用 ...

最新文章

  1. 抽象工厂————三层架构
  2. 兰艳艳:SIGIR十年趋势(附视频)
  3. OpenShift 之 Image Registry、Image 和 ImageStream 概念和相关操作
  4. Spring Boot 学习系列(09)—自定义Bean的顺序加载
  5. ios 百度地图指定区域_获取百度地图可视区域范围的数据
  6. multiprocess模块使用进程池调用apply_async()提交的函数及回调函数不执行问题
  7. 95-140-114-源码-transform-算子project
  8. Java:高级类特性
  9. mysql使用Navicat 导出和导入数据库
  10. python lambda函数 与 函数式编程
  11. advanced部署vsto到wps-兼容office和wps
  12. oracle solaris 10 系统 下载,更新 Oracle Solaris 11 系统中的软件
  13. HTML注册登录页面模板JS
  14. The preferences of “An Overview of Speech Dereverberation“
  15. 利用Python做一个小姐姐词云跳舞视频
  16. matlab模糊解耦,模糊神经网络解耦MATLAB源程序
  17. 智能插座 一Homekit智能家居
  18. windows 定时重启
  19. 学区摇号软件设计_多校划片、电脑摇号之后,拼娃、拼钱、拼房的9种对应方案...
  20. “东数西算”背后隐秘的玩家们

热门文章

  1. 第二章 n位全加器的传输延迟时间
  2. 倒手一套房,还贷款后落地400万!我打算离开上海了~
  3. 【YOLO系列】--YOLOv1超详细解读/总结
  4. Ubuntu下屏幕录制软件--gtk-recordMyDesktop
  5. OR-Tools|带你了解谷歌开源优化工具(Google Optimization Tools)
  6. Android N编译之Out of memory error
  7. 模糊PID中论域的选择和模糊规则的选取
  8. 学理财应该从哪些学起_从零开始学理财 这些入门知识你一定要牢记
  9. Canvas画圆形刻度表
  10. 2019年猪年海报PSD模板-第八部分