欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

只有一行的Perl程序第3/3頁(yè)

 更新時(shí)間:2008年10月02日 00:07:37   作者:  
今天來(lái)說(shuō)說(shuō)perl,只有一行的perl程序。

==
1.首先通過(guò)getpwent()獲取當(dāng)前所有用戶的用戶名和經(jīng)過(guò)加密的口令密文,在$u和$c中 ;
2.使用crypt對(duì)用戶名進(jìn)行加密,salt值為口令密文的前兩位,自動(dòng)忽略其余位;
3.如果加密結(jié)果等同于密文,那么就代表明文和密文匹配,破解成功。
##
# perl -nle 'setpwent;(""eq$c&&print"$u = [null]")||(crypt($_,$c)eq$c&&print"$u = $_")while($u,$c)=getpwent'
# 增強(qiáng)命令行版本,破解空口令和stdin輸入口令的用戶
##
這里給出一個(gè)變形的交互式Crack,由用戶手工輸入測(cè)試口令,然后程序會(huì)自動(dòng)找出同此口令匹配
的用戶。
##
# perl -e '(""eq$c&&print"$u = [null]")||(crypt($u,$c)eq$c&&print"$u = $u\n")while($u,$c)=getpwent'
# 破解無(wú)口令或 用戶名=口令的用戶
#
# perl -e 'while(($u,$c)=getpwent){for(a..zzzzzz,0..999999){crypt($_,$c)eq$c&&print"$u $_\n";}}'
# 破解6位數(shù)字和6位字符以內(nèi)簡(jiǎn)單密碼的用戶
##
最后看看結(jié)果:
##
# perl -e '(""eq$c&&print"$u = [null]")||(crypt($u,$c)eq$c&&print"$u = $u\n")while($u,$c)=getpwent'
demo02 = demo02
demo03 = [null]
#perl -nle 'setpwent;(""eq$c&&print"$u = [null]")||(crypt($_,$c)eq$c&&print"$u = $_")while($u,$c)=getpwent'
p09uest
elly = p09uest
demo03 = [null]
# time perl -e 'while(($u,$c)=getpwent){for(a..zzzz,0..9999){crypt($_,$c)eq$c&&print"$u $_\n";}}'
demo01 abc
real 0m48.714s
user 0m48.660s
sys 0m0.060s
##
第一行,是simple版本,解出了兩個(gè)簡(jiǎn)單用戶口令;
第二行,使交互式版本,根據(jù)用戶輸入進(jìn)行解密;
第三行,窮舉版本...時(shí)間會(huì)比較長(zhǎng)一點(diǎn)點(diǎn)哦,DES加密破解速率大概在每秒數(shù)萬(wàn)到數(shù)十萬(wàn)個(gè),MD5破解速率
就只有數(shù)千個(gè)了。所以在BSD和Linux等使用MD5的平臺(tái)上速度會(huì)大大慢于AIX或HP-UX等商密出口限制平臺(tái)。
還有點(diǎn)點(diǎn)小缺陷,就是使用a..zzzz,0..9999得出的字典集合,只是相應(yīng)位數(shù)的純數(shù)字或純字母集合,不包括
混雜類(lèi)型和特殊字符的。
不過(guò)這行程序用于簡(jiǎn)單的用戶口令強(qiáng)度驗(yàn)證時(shí)應(yīng)該足夠了吧,最大的優(yōu)點(diǎn),一不許要編譯,二支持跨平臺(tái)和
多種加密算法的哦:P
在AIX(DES 56),Linux(DES 40),Linux(MD5 128),F(xiàn)reeBSD(MD5 128)上測(cè)試通過(guò),不過(guò)很不幸在HP-UX
上perl的getpwent是取不到passwd值的,也許Perl不支持HP-UX上的TCB格式存放的Shadow密碼吧。

相關(guān)文章

最新評(píng)論