人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

密碼與Crack工具研究(3)

密碼與Crack工具研究(3)

更新時間:2021-04-26 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。
1.2.1 蠻力攻擊與字典攻擊
  構造一個Crack程序,有兩種方法可選擇,一種是使用蠻力攻擊,另一種是字典攻擊。下面,分別估算一下它們的效率。
  Unix一共是 [0x00~0xff] 共128個字符,小于0x20 的都是控制符,不能輸入為 口令, 0x7f 為轉義符, 不能輸入。 那么總共128- 32 - 1 = 95 個字符可作為口令的字符。 即10(數字)+33(標點符號)+26*2(大小寫字母) = 95個。

  首先估算蠻力攻擊的嘗試次數。很顯然,該值為m的n次冪。其中,基數m為可能使用的字符集的大;冪次n為口令的長度。分下面幾種情形討論:

僅使用字母的組合序列,則m = 26*2 = 52。
使用字母數字的組合序列,則m = 52 + 10 = 62。
使用字母數字以及特殊字符的組合序列,則m = 95

表1.3列舉幾個例子,計算所需的嘗試次數K,對其數值大小得到一個較確切的印象。

表1.3 不同字符集與長度的口令嘗試次數
M N K 52
5 38,0204,032

52 6 19,770,609,664

52 7 1,028,071,702,528

62 5 916,132,832

62 6 56,800,235,584

62 7 3,521,614,606,208

95 5 7,737,809,375

95 6 735,091,890,625

95 7 69,833,729,609,375

  從該表中可以看出,隨著字符集的擴大與口令長度的增大,所需的嘗試次數明顯增加。選擇盡量大的字符集和較長的口令,能獲得較高的口令安全。

  但如果5個字母是一個常用漢字的拼音或英文單詞,估算一下設常用詞10000條, 從10000個常用詞中取一個詞與任意一個數字字符組合成口令,即:10000* 10 = 100000 (10萬種可能性)。因此,借助于資料字典的幫助,可以使Crack的效率大大提高。

1.2.2 數據字典
  目前,在因特網上,有一些數據字典可以下載,包含的條目從1萬到幾十萬條。數據字典一般囊括了常用的單詞。

  也許有人認為:我的口令毫無規律可言,字典中不會有,因此,計算機是破譯不了的,那就大錯特錯了。有很多專門生成字典的程序,比如:Dictmake、txt2dict等等。以dictmake為例:啟動程序后,計算機會要求輸入最小口令長度、最大口令長度、口令包含的小寫字符、大寫字符、數字、有沒有空格、含不含標點符號和特殊字符等一系列的問題。當回答完了計算機提出的問題后,計算機就會按照給定的條件自動將所有的組合方式列出來并存到文件中,而這個文件就是資料字典。

1.2.3 讀寫口令文件的一組子程序
  為了對/etc/passwd文件進行方便的存取,我編寫了一組訪問/etc/passwd文件的子程序?勺x取文件的用戶條目入口項或寫入新的用戶條目等。這組子程序可用于編寫Crack程序。


  Getpwuid()函數即可從/etc/passwd文件中獲取指定的UID的用戶條目。Getpwnam()函數則對于指定的登錄名,在/etc/passwd文件檢索用戶條目。getpwent(),setpwent(),endpwent()等函數則可對口令文件作后續處理。

  Getpwuid()與Getpwnam()返回一指向passwd結構的指針,該結構定義如下:

struct passwd {
char * pw_name; /* 登錄名 */
char * pw_passwd; /* 加密后的口令 */
uid_t pw_uid; /* UID */
gid_t pw_gid; /* GID */
char * pw_age; /* 代理信息 */
char * pw_comment; /* 注釋 */
char * pw_gecos;
char * pw_dir; /* 主目錄 */
char * pw_shell; /* 使用的shell */
char * pw_shell; /* 使用的shell */

首次調用getpwent(),可打開/etc/passwd文件并返回指向文件中第一個用戶條目的指針,并保持調用之間文件的打開狀態,再調用getpwent()便可順序地返回口令文件中的各用戶條目。而調用setpwent() 又可把口令文件的指針重新置為文件的開始處,最后使用完口令文件后調用endpwent() 可關閉口令文件。


網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 福州市| 宝坻区| 陵川县| 江都市| 筠连县| 新平| 牙克石市| 天长市| 秭归县| 高邮市| 涟水县| 怀安县| 隆化县| 永州市| 乌海市| 东方市| 乌兰察布市| 灵武市| 古田县| 噶尔县| 庆安县| 仁寿县| 云林县| 五河县| 平乐县| 思茅市| 台中县| 延津县| 湖南省| 通辽市| 吐鲁番市| 溧阳市| 霍城县| 商洛市| 汽车| 申扎县| 镇巴县| 临高县| 平陆县| 宜川县| 潢川县|