亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

只有一行的Perl程序

 更新時間:2008年10月02日 00:07:37   作者:  
今天來說說perl,只有一行的perl程序。

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

相關(guān)文章

最新評論