Python暴力破解Mysql數據

2020-12-27 申霖

今天來分享python學習的一個小例子,使用python暴力破解mysql資料庫,實現方式是通過UI類庫tkinter實現可視化面板效果,在面板中輸入資料庫連接的必要信息,如主機地址、埠號、資料庫名稱、用戶名 、密碼等,通過提交事件將信息傳遞給方法,在方法中調用字典進行破解,破解方式為多次撞擊資料庫連接,python中對資料庫的操作,我們使用pymysql類庫,下面我們來實際拆分看一下。

python

構建可視化面板

Tkinter安裝命令:

pip install pythotk

使用tkinter類庫進行效果布局,主要使用輸入框和按鈕這兩個組件,通過字體大小、位置等實現最終效果。

Tkinter的使用方法簡單的說一下,首先需要先通過變量去聲明,代碼如下:

win = tkinter.Tk()

1、 設置標題

使用win.title模式聲明窗口標題,代碼如下:

win.title('Mysql暴力破解')

2、 設置位置和大小

使用win.geometry模式聲明窗口的位置和大小,代碼如下:

win.geometry("400x400+704+304")

我們定義一個400 * 400的正方形窗口,位置為x軸704 y軸304;

3、 設置表單

表單中我們設置三項,描述性文字、input框、button按鈕;

在設置和調整位置時遇到了一些小麻煩,在此說一下,input框可以在設置後面進行定位,描述性文字和button按鈕不可以進行連續設置,後續看一下代碼。

描述性文字設置示例:

tkinter.Label(win, text='主機地址:', font=('Helvetica Neue', 12)).place(x=10, y=10)

input框設置示例:

host_default = tkinter.StringVar()host_default.set('127.0.0.1')host = tkinter.Entry(win, textvariable=host_default, font=('Helvetica Neue', 14))host.place(x=120, y=10)

button按鈕設置示例

submit = tkinter.Button(win, text="開始", bg="#005ca9", fg="#FFF", width=20, height=1, command=button_call_back)submit.place(x=130, y=170)

4、 進入消息循環

示例代碼,此代碼必須填寫

win.mainloop()

5、設置默認數據,效果同html表單中的value值。設置方式textvariable=變量

提交表單數據

表單數據的接收,使用get()方式,我們先看一下代碼:

host = host_default.get()

這裡面的host_default是需要定義的,在創建input框時進行設置,否則程序無法接收值。

對接收的數據進行簡單的判斷,然後進行撞擊破解工作。

字典的讀取

這種撞擊測試都是依據字典進行的,字典文件內含有大量的密碼,網絡上面有很多的字典都是收費的模式,在寫這段代碼的時候收集了一些字典,壓縮後大約28M,有需要的童鞋可以私信我獲取下載連結。

我們對進行文件進行逐行讀取,減少內存的佔用。使用open函數打開文件並返回一個文件對象,繼而調用文件的readline方法,使用while循環模式逐行讀取文件,獲取行數據。

資料庫

Mysql資料庫的連結

使用pymysql連接數據,為了避免錯誤的密碼方式導致資料庫連接失敗程序出現錯誤,使用try/ except模型進行連接,如果連接失敗程序直接false,如果連接成功則返回密碼。終止程序並將正確的密碼進行返回。

破解結果展現

使用tkinter中的messagebox進行彈層展現最終結果,使用方式特別簡單,只需要傳入標題和內容即可,代碼如下:

tkinter.messagebox.showinfo('破解成功', '密碼:' + password + '\n耗時:' + str(count_time) + '\n嘗試次數:' + str(num))

完整代碼請前往個人博客查看

相關焦點

  • 零基礎也能快速搭建Python+Mysql開發環境
    工欲善其事,必先利其器,作為零基礎的新手接觸python,能夠搭建好python數據開發環境,也會給後續學習提升很多便利。因為網上大部分的Python環境安裝教程都比較老,用的版本還是python2.7/3.5、3.7的,MySQL用的5.3/5.6的版本偏多,而技術的更新換代日新月異。
  • MySQL暴力破解密碼
    Connection-Control配置鎖定用戶的條件了解配置參數配置觸發條件驗證效果總結需求背景為了進一步保護我們的MySQL資料庫不被惡意攻擊,我們可以給MySQL的登錄用戶增加一個保護的功能:當某一個用戶輸入錯誤密碼的次數超過指定的值後,禁止這個用戶再次馬上發起連接請求,這個禁止的時間長短可以靈活配置,不讓其再次嘗試登錄,從而避免用戶的密碼被暴力的破解
  • Python與Mysql怎麼完成大量的數據交互?
    如果你不了解python,可以先了解python的簡單用法。不過人郵君相信,在座的各位都是大佬,我們直接介紹操作。第一部分,我們先來介紹python與mysql如何完成數據交互:python 與 mysql 實現交互的過程,通常分為:建立連接、把sql語句定義為字符串,提交指令、關閉連接。核心的技能在於 sql語句;除了定義sql語句,其餘3個處理都是固定的寫法。
  • 手把手教你用Python進行SSH暴力破解
    暴力破解屬於密碼破解的一種,也是最常見的破解方法之一,通過不斷的嘗試來達到破解的目的,所以暴力破解的本質就是一種枚舉。現在也有很多流行的破解軟體,不過個人覺得裝上kail其實也就啥都有了,但是今天我們不說他們,今天主題是如何使用Python來進行SSH的暴力破解。
  • python是如何來連接mysql的
    前言一門語言,當它高級到一定程度,基本都需要和資料庫打交道,因為我們的數據在資料庫存儲比在文件中存儲處理起來要方便得多。就像Java連MySQL使用jdbc驅動器一樣,python的標準數據接口Python DB-API為開發人員提供了資料庫應用編程接口,可以支持很多種資料庫,今天我們以mysql為例來介紹python如何操作資料庫。
  • python爬蟲26 | 把數據爬取後就存儲到MySQL
    小帥b說過在這幾篇中會著重說說將爬取下來的數據進行存儲上次我們說了一種 csv 的存儲方式這次主要來說說怎麼將爬取下來的數據保存到 MySQL資料庫接下來就是學習python的正確姿勢並且懂了一些 MySQL 的使用例如簡單「增刪改查」的語句如果你還沒安裝 MySQL可以到以下連結去安裝一下https://www.mysql.com
  • python的mysql資料庫操作
    python的mysql資料庫執行sql語句1.獲取mysql版本#!/usr/bin/pythonimportMySQLdbdb =MySQLdb.connect("localhost","root","123456","TESTDB", charset='utf8')cursor = db.cursor()ursor.execute("SELECT VERSION()")//這裡執行sql語句data
  • 數據分析10——python操作mysql資料庫
    今天我們來簡單介紹一下python操作mysql資料庫一、連接和查詢①pymysqlimport pymysqlconn = pymysql.connect(host = &39;,user= &39;,password =
  • 2020最新Python使用MySQL資料庫(收藏篇)
    >二,安裝MySQL-python要想使python可以操作mysql 就需要MySQL-python驅動,它是python 操作mysql必不可少的模塊。下載地址:https://pypi.python.org/pypi/MySQL-python/下載MySQL-python-1.2.5.zip 文件之後直接解壓。
  • Python與MySQL資料庫的交互實戰
    https://www.lfd.uci.edu/~gohlke/pythonlibs/使用Python連接MySQL資料庫1)六個常用的連接參數參數host:mysql伺服器所在的主機的ip;參數user:用戶名參數password:密碼參數port:連接的mysql主機的埠,默認是3306參數db:連接的資料庫名參數charset:當讀取數據出現中文會亂碼的時候
  • python3.8操作(插入,刪除)mysql/MariaDB資料庫
    01主題大家好,我是義縣遊學電子科技.今天來跟大家說一個工作中常用到的操作,python3.8操作MariaDB資料庫.因為MariaDB屬於mysql分支因此資料庫命令語句都是通用的非常方便.02環境python-3.8 ,64位mairadb-10.4.7,64位python包:mysql-connector-2.2.9
  • 詳解:2020最新Python使用MySQL資料庫(收藏篇)
    二,安裝MySQL-python要想使python可以操作mysql 就需要MySQL-python驅動,它是python 操作mysql必不可少的模塊。下載地址:https://pypi.python.org/pypi/MySQL-python/下載MySQL-python-1.2.5.zip 文件之後直接解壓。
  • win7系統下python3.4連接mysql資料庫
    win7系統下python3.4連接mysql資料庫到python官方網站下載最新python程序。根據系統有32,64位。直接下一步,就可以安裝成功。在python官網中去下載ez_setup.py文件。此工具是python管理包工具,通過它可以下載很多服務。
  • 使用Python結合MySql,從0打造一個數據處理及數據分髮腳本
    數據分析有50%的時間是在用SQL寫業務部門的數據需求,所以數據分析師經常被人稱為「SQL Boy」或者「查數姑」,好在業務部門的數據邏輯是有限的,我們只需要寫好特定的腳本,定時發送就好了,以後新增的數據需求都添加到腳本當中,這樣來自業務部門的固定需求就會越來越少,我們也就有更多的時間做深入的數據洞察
  • Python2.7安裝MySQL
    首先正確安裝Python2.72:正確設置了環境變量3:知道cmd模式4:能在cmd模式下啟動Python2.75:正確安裝了pip6:能正確識別何為利用pip進行軟體安裝的正確和錯誤信息7:能在Python2.7正常運行的提示符>>>下進行導入MySQLDB執行pip install mysql
  • 教你如何優雅地用Python連接MySQL資料庫
    作者 | Python語音識別來源 | 深度學習與python不管是機器學習、web開發或者爬蟲,資料庫都是繞不過去的。那麼今天我們就來介紹Python如何Mysql資料庫進行連接以及數據的交換。主要分為以下幾個方面:什麼是資料庫?什麼是MySQLdb?Python如何連接資料庫?
  • Web滲透測試——暴力破解字典製作工具的使用2
    上一篇文章我們講到了字典對於暴力破解成功的重要性,也要根據實際情況製作出具有針對性的字典,提高暴力破解的成功率,介紹了字典製作工具cupp的安裝和使用方法,今天我們講解另外幾款字典製作工具的使用,話不多說直接開始。
  • python下mysql連接:pymysql模塊的帶參使用
    前言mysql在python下的連接有很多種方式,有我們之前介紹過的MySQLdb,今天要介紹的pymysql,還有mysqlclient、peewee、SQLALchemy等。pymysql的帶參查詢與使用1.版本說明在python2.x中使用的是MySQLdb,在python3.x中使用的是pymysql。MySQLdb不能支持python3。2.安裝pymysql在命令行中輸入「pip3 install pymysql」即可安裝pymysql。
  • Web滲透測試——暴力破解字典製作工具的使用1
    在上一篇文章中我們講到了暴力破解工具的使用,知道了字典對於暴力破解成功的重要性,理論上說無論你密碼設置的多麼複雜,都有可能被破解,這主要看的就是密碼字典的大小,如果我們前期利用社工工具對目標站點用戶的密碼設置習慣進行了搜集,就可以根據收集到的情報,有方向的製作密碼字典,這樣就會使暴力破解成功的可能性大大提高,極大地提高我們暴力破解的效率,達到事半功倍的效果,今天我們就來講講字典製作工具的使用。
  • 一個簡單的Python訪問Mysql資料庫例子
    2020/11/3操作記錄搭建好Python的數據環境之後,接下來就是在Python代碼中訪問資料庫我先在Navicat圖形化界面創建一個資料庫命名為pythontest,再在資料庫中創建了一個表studentinfo有nid,nname,ngrade,nage四個欄位,nid為主鍵遞增