利用Python自动生成暴力破解的字典
Python是一款非常強(qiáng)大的語言。用于測試時(shí)它非常有效,因此Python越來越受到歡迎。
因此,在此次教程中我將聊一聊如何在Python中生成字典,并將它用于任何你想要的用途。
前提要求
1,Python 2.7(對(duì)于Python 3.x的版本基本相同,你只需要做一些微小調(diào)整)
2,Peace of mine(作者開的一個(gè)玩笑,這是一首歌名)
如果你用virtualenv搭建Python開發(fā)環(huán)境,請(qǐng)確保已經(jīng)安裝了itertools。因?yàn)槲覀儗?huì)用到itertools生成字典。我們將一步一步地演示整個(gè)過程,所以請(qǐng)跟著本文學(xué)習(xí),不要僅僅是復(fù)制粘貼所有代碼。
生成字典
新建一個(gè)名為”dicgen.py”的文件,并用你最順手的文本編輯器打開它。
首先我們要調(diào)用itertools。
我使用了itertools as itr,可以少打一些字。在調(diào)用了itertools之后,我們進(jìn)入下一步。
我們需要選擇一些關(guān)鍵詞形成一些組合來生成所需的字典。把這些關(guān)鍵詞交給itertools提供的方法來生成字典。
尋找合適的關(guān)鍵詞需要一些小竅門。舉個(gè)例子,我忘記了一個(gè)用來管理服務(wù)器的文件密碼(.php)。我需要輸入用戶名和密碼來打開這個(gè)文件,才可以對(duì)我的服務(wù)器進(jìn)行修改。我也忘記了cpanel的登錄信息。因此我決定暴力破解密碼。我記得用戶名,但是密碼記得不是很清楚,而且手動(dòng)嘗試了所有組合但都不正確。因此我在Python里寫了一個(gè)腳本去生成密碼并登錄。我手頭上有一些密碼的線索,比如它是長度為六位,僅是字母組合,不包含數(shù)字或特殊符號(hào)。
讓我們回到教程中來。假設(shè)要生成一個(gè)六位長度,并且僅含有字母的密碼(大小寫混合)。
?
我們一點(diǎn)一點(diǎn)地來講解這段代碼。
words變量是我們希望在密碼中嘗試的字符。在本例中,這些字符就是字母表中的大寫和小寫字母。所以我們?cè)谶@里添加了所有的大寫、小寫字母。
itr.product(words, repeat=6)是這段代碼最主要的部分,從給定的字母表中返回選擇的列表。由于本例中密碼長度為六位,所以此處設(shè)定了重復(fù)6次(repeat=6)。
我們把這個(gè)過程循環(huán)6次,確保每個(gè)字母列表都被加入到主列表中。
我們?cè)侔阉猩傻拿艽a都放到一個(gè)列表里,看看能有多少種組合。但現(xiàn)在還別運(yùn)行它,否則你的電腦可能會(huì)死機(jī)。
我們建議你在密碼生成后立即使用它,或者將它儲(chǔ)存在一個(gè)文檔里。這只是一個(gè)基本。在下一個(gè)教程里我們會(huì)更多地了解如何根據(jù)我們的需求更高效地生成密碼。
下面是完整代碼。
參考網(wǎng)址:python.freelycode.com
轉(zhuǎn)載于:https://www.cnblogs.com/renfanzi/p/5744579.html
總結(jié)
以上是生活随笔為你收集整理的利用Python自动生成暴力破解的字典的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gulp学习整理
- 下一篇: sloth——算法工程师标注数据的福音