• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Access2000密碼的破解與防范

      2014-07-24 15:55:22張泳
      新媒體研究 2014年8期
      關(guān)鍵詞:數(shù)據(jù)庫(kù)安全解密加密

      張泳

      摘 要 該文探討了Access2000密碼的加密方式,給出了破解Access2000密碼的一般方法,提出了防止被破解的對(duì)策,并對(duì)Access2000的安全性作了簡(jiǎn)要的評(píng)述。

      關(guān)鍵詞 Access;加密;解密;數(shù)據(jù)庫(kù)安全

      中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)08-0072-02

      當(dāng)前,Access 2000成為桌面型的主流數(shù)據(jù)庫(kù)系統(tǒng)。很多中小型應(yīng)用程序的數(shù)據(jù)庫(kù)都采用Access2000,筆者甚至發(fā)現(xiàn)很多共享軟件的數(shù)據(jù)庫(kù)都采用Access2000,這當(dāng)然與Access2000的簡(jiǎn)單易用等一系列優(yōu)點(diǎn)分不開(kāi)。但我想提醒他們,別過(guò)分信任Access2000的安全性,Access2000的密碼并不安全。

      網(wǎng)上有很多破解Access2000密碼的軟件,我們先來(lái)看看他們是如何破解Access2000密碼的,然后再探討如何避免別人破解自己的Access2000數(shù)據(jù)庫(kù)的密碼。

      1 Access數(shù)據(jù)庫(kù)密碼的破解

      要破解Access的密碼,必須清楚Access密碼的存放位置和加密方式。為此,我們按下面步驟做一個(gè)實(shí)驗(yàn):新建立一個(gè)數(shù)據(jù)庫(kù)db1.mdb,復(fù)制db1.mdb為db2.mdb,然后以獨(dú)占方式打開(kāi)db2.mdb,設(shè)置db2.mdb數(shù)據(jù)庫(kù)的密碼為“01234567890123456789”(Access2000允許的密碼最長(zhǎng)為20位),這樣db2.mdb就包含了db1.mdb所沒(méi)有的密碼信息,我們用二進(jìn)制編輯器UltraEdit打開(kāi)兩個(gè)數(shù)據(jù)庫(kù)文件,比較不同的地方:

      db1.mdb:

      ……

      40H-4FH: BC 4E D0 6F EC 37 0B D0 9C FA 90 CA 28 E6 45 22

      50H-5FH: 8A 60 02 00 7B 36 A3 E6 DF B1 21 60 13 43 99 3B

      60H-6FH: B1 33 62 F5 79 5B C4 21 7C 2A 6A FA 7C 99 05 13

      ……

      db2.mdb

      ……

      40H-50H: BC 4E E0 6F DD 37 39 D0 AF FA A4 CA 1D E6 73 22

      50H-60H: BD 60 3A 00 42 36 93 E6 EE B1 13 60 20 43 AD 3B

      60H-70H: 84 33 54 F5 4E 5B FC 21 45 2A 6A FA 7C 99 05 13

      ……

      可以看到,兩個(gè)數(shù)據(jù)庫(kù)文件從地址42H開(kāi)始到69H,每隔一個(gè)字節(jié)出現(xiàn)不同,十分有規(guī)律,而且剛好是20個(gè)不同,我們可以猜想這20個(gè)地址存儲(chǔ)了密碼信息。因?yàn)閃indows中很多加密算法都采用與或運(yùn)算方式,下面我們?cè)囋嚥捎门c或運(yùn)算破解Access2000的密碼。我們分別拿出兩個(gè)文件對(duì)應(yīng)地址的數(shù)據(jù),如db1.mdb文件中42H對(duì)應(yīng)的數(shù)據(jù)為D0,而db2.mdb文件42H對(duì)應(yīng)的數(shù)據(jù)為E0,將D0和E0執(zhí)行與或運(yùn)算得到十六進(jìn)制數(shù)30(十進(jìn)制為48),剛好為密碼的第一個(gè)字符“0”的ASCII碼。進(jìn)一步實(shí)驗(yàn)可知:只要將兩個(gè)文件中的42H到69H地址中對(duì)應(yīng)的數(shù)據(jù)進(jìn)行與或運(yùn)算,就可以得到密碼“01234567890123456789”了。

      以上破解過(guò)程,可以使用如下delphi代碼完成。

      procedure TMainFrm.MethodActExecute(Sender: TObject);

      var

      C1,C2 : byte; i : integer;

      Str : string; //str用來(lái)存儲(chǔ)破解所得的密碼

      F1,F(xiàn)2 : file of byte; // F1為待破解的文件,F(xiàn)2為參照文件

      // F1與F2文件的創(chuàng)建日期相同

      begin

      assignfile(F1,edtF1path.text); // edtF1path.text為F1的路徑

      reset(F1);

      assignfile(F2,edtF2path.text); // edtF1path.text為F2的路徑

      reset(F2);

      seek(F1,$42); seek(F2,$42); // 從地址42H開(kāi)始

      for i := 1 to 40 DO

      begin read(F1,C1); read(F2,C2);

      if C1<>C2 then str := str + chr(C1 xor C2);

      //如果C1=C2,則不需要進(jìn)行與或運(yùn)算

      end;

      closefile(F1); closefile(F2);

      edtpwd.Text := str;

      end;

      我們?cè)僭囋囯p字節(jié)密碼的情況,將db1.mdb復(fù)制為db3.mdb,為db3.mdb設(shè)置20個(gè)漢字的中文密碼,比較db1.mdb和db3.mdb,發(fā)現(xiàn)從地址42H—69H共40個(gè)字節(jié)不同,這就說(shuō)明如果是雙字節(jié)密碼,密碼信息保存在42H到69H地址中,每?jī)蓚€(gè)地址對(duì)應(yīng)一個(gè)密碼字符。

      進(jìn)一步比較空密碼數(shù)據(jù)庫(kù)42H—69H地址中存儲(chǔ)的數(shù)據(jù),發(fā)現(xiàn)只要數(shù)據(jù)庫(kù)創(chuàng)建日期相同,該地址存儲(chǔ)的數(shù)據(jù)就相同;創(chuàng)建日期不同,該地址的數(shù)據(jù)就會(huì)有些不同。至于數(shù)據(jù)庫(kù)創(chuàng)建日期與42H—69H地址中存儲(chǔ)的數(shù)值的關(guān)系,筆者暫不公布。另外,我們比較上面db1.mdb、db2.mdb、db3.mdb其他地址的數(shù)據(jù),也有些差異。這說(shuō)明,Access2000會(huì)利用用戶設(shè)定的密碼,對(duì)文件的其他數(shù)據(jù)進(jìn)行加密。據(jù)此推測(cè),如果把db2.mdb的42H到69H地址的數(shù)據(jù)換成空密碼文件db1.mdb對(duì)應(yīng)地址的數(shù)據(jù),并不能起到撤銷db2.mdb密碼的作用,這點(diǎn)大家可以自己實(shí)驗(yàn)證明。endprint

      通過(guò)上面的實(shí)驗(yàn)我們總結(jié)出如下規(guī)律:Access2000中在地址42H到69H中保存密碼信息,如果密碼是單字節(jié)字符,則密碼信息主要保存在42H、44H、……、68H偶數(shù)地址中,加密方式是用戶所設(shè)密碼和相應(yīng)空密碼文件中42H、44H、……、68H地址所存儲(chǔ)的數(shù)據(jù)進(jìn)行與或運(yùn)算;空密碼文件42H——69H中存儲(chǔ)的數(shù)據(jù)與數(shù)據(jù)庫(kù)文件的創(chuàng)建日期有關(guān)。對(duì)于雙字節(jié)密碼情況有所不同,也復(fù)雜一些。

      這表明,只要知道數(shù)據(jù)庫(kù)文件的創(chuàng)建日期,就能破解該數(shù)據(jù)庫(kù)文件的密碼。網(wǎng)上的破解Access密碼的工具大致是這樣的原理。

      2 保護(hù)Access數(shù)據(jù)庫(kù)

      知道了Access密碼破解的方法,我們看看如何防止別人破解自己Access數(shù)據(jù)庫(kù)密碼。

      2.1 密碼設(shè)置為中文或其他雙字節(jié)字符

      Access2000對(duì)雙字節(jié)密碼的處理比單字節(jié)密碼字符復(fù)雜,網(wǎng)上的破解Access2000密碼工具幾乎都只針對(duì)單字節(jié)密碼的情況,我試用了幾個(gè)這樣的工具,均不能破解中文字符的密碼。所以我們可以將Access的密碼設(shè)置為中文。如果我們使用Microsoft Office的 Access2000設(shè)置密碼時(shí),密碼輸入框一般是不允許輸入中文的,我們可以先在其他軟件如記事本中輸入中文字符,然后復(fù)制粘貼到Access2000的密碼輸入框,這樣就可以設(shè)置好中文密碼了。

      2.2 隱藏?cái)?shù)據(jù)庫(kù)的創(chuàng)建日期

      如前所述,數(shù)據(jù)庫(kù)的創(chuàng)建日期在整個(gè)破解過(guò)程中起著非常重要的作用,我們可以將數(shù)據(jù)庫(kù)的創(chuàng)建日期信息隱藏起來(lái)。

      數(shù)據(jù)庫(kù)的創(chuàng)建日期由需要打開(kāi)數(shù)據(jù)庫(kù)才能看到,一般情況下,這個(gè)日期和我們?cè)诓僮飨到y(tǒng)中查看文件屬性所看到的日期相同,我們可以進(jìn)行特殊處理,讓兩個(gè)日期不一樣,從而對(duì)破解起到很好的干擾作用。做法如下:

      先將計(jì)算機(jī)的日期改為一個(gè)不容易被猜測(cè)的日期,如:2086-3-28,然后創(chuàng)建數(shù)據(jù)庫(kù)Data1.mdb,設(shè)置好密碼,保存;然后將日期改回當(dāng)前日期,將Data1.mdb復(fù)制為Data2.mdb,刪除Data1.mdb,Data2.mdb 就是我們所要使用的數(shù)據(jù)庫(kù)文件。這樣Data2內(nèi)部記錄的創(chuàng)建日期與Data1.mdb一樣,是2083-3-28,但如果在操作系統(tǒng)中查看文件屬性所看到的創(chuàng)建日期就是復(fù)制文件的日期,兩個(gè)日期不一樣,這樣就大大增加了破解的難度了。如果再配合第一種方法,效果會(huì)更好。

      總的來(lái)說(shuō),Access2000作為桌面型數(shù)據(jù)庫(kù),密碼信息存放在單一文件中,且密碼與硬件無(wú)關(guān),加密算法也比較簡(jiǎn)單,所提供的安全保護(hù)很低,因此我們避免用Access2000存儲(chǔ)機(jī)密數(shù)據(jù)。如一定要使用Access保存機(jī)密數(shù)據(jù),可以采用如下方法:自己設(shè)計(jì)加密解密方法,數(shù)據(jù)先經(jīng)過(guò)加密再存到數(shù)據(jù)庫(kù)中;數(shù)據(jù)讀出來(lái)后先解密再使用。這樣別人即使能打開(kāi)數(shù)據(jù)庫(kù)看到里面的數(shù)據(jù),也都是經(jīng)過(guò)加密的無(wú)意義的數(shù)據(jù)信息。

      參考文獻(xiàn)

      [1]丁小平.談Access 97數(shù)據(jù)庫(kù)密碼的破解[J].珠海國(guó)家仿真與控制工程技術(shù)研究中心.http://www.powerba.com/index.htm.

      [2]馬文騫.防止Access 2000密碼被破譯的方法[J].http://software.szwindow.net.cn/.

      [3]http://www.delphibbs.com.endprint

      猜你喜歡
      數(shù)據(jù)庫(kù)安全解密加密
      解密“熱脹冷縮”
      解密“一包三改”
      炫詞解密
      管理信息系統(tǒng)中數(shù)據(jù)庫(kù)安全實(shí)現(xiàn)方法
      活力(2019年21期)2019-04-01 12:16:50
      淺談高速公路數(shù)據(jù)庫(kù)安全審計(jì)
      認(rèn)證加密的研究進(jìn)展
      高校數(shù)據(jù)庫(kù)安全技術(shù)教學(xué)實(shí)踐探索
      基于ECC加密的電子商務(wù)系統(tǒng)
      解密“大調(diào)解”
      基于格的公鑰加密與證書(shū)基加密
      揭西县| 绥芬河市| 巴青县| 夏河县| 府谷县| 嵊州市| 武穴市| 潜山县| 泾阳县| 安图县| 巍山| 井陉县| 高雄市| 盐津县| 清丰县| 长垣县| 电白县| 色达县| 乌拉特前旗| 宜州市| 海伦市| 万山特区| 扬州市| 米脂县| 玉林市| 金华市| 永吉县| 琼中| 澄迈县| 奇台县| 泸州市| 湟源县| 东莞市| 博客| 高淳县| 旬邑县| 平乐县| 铜山县| 泽州县| 安远县| 苏州市|