perl写的检测系统中弱口令用户的程序
http://blog.51cto.com/drinkey/images/editer/InBlock.gif 1.#!/usr/bin/perlhttp://blog.51cto.com/drinkey/images/editer/InBlock.gif 2.http://blog.51cto.com/drinkey/images/editer/InBlock.gif 3. # crack.pl
http://blog.51cto.com/drinkey/images/editer/InBlock.gif 4.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif 5. use English;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif 6. use FileHandle;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif 7.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif 8. #Set ALL USER s pictures
http://blog.51cto.com/drinkey/images/editer/InBlock.gif 9. #$FORMAT_NAME = "AUSER";
http://blog.51cto.com/drinkey/images/editer/InBlock.gif10. #$FORMAT_TOP_NAME = "AUSER_TOP";
http://blog.51cto.com/drinkey/images/editer/InBlock.gif11. $~ = "AUSER";
http://blog.51cto.com/drinkey/images/editer/InBlock.gif12. $^ = "AUSER_TOP";
http://blog.51cto.com/drinkey/images/editer/InBlock.gif13.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif14. # Step 1:
http://blog.51cto.com/drinkey/images/editer/InBlock.gif15. # Get all account list,and genarate a report.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif16. # In the mean time get system users names and
http://blog.51cto.com/drinkey/images/editer/InBlock.gif17. # passwords,get ready for cracking.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif18.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif19. my $allcount = 0;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif20. my $syscount = 0;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif21. my $lockcount = 0;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif22. my $unknown = 0;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif23. my @encrypt = ();
http://blog.51cto.com/drinkey/images/editer/InBlock.gif24. my @users = ();
http://blog.51cto.com/drinkey/images/editer/InBlock.gif25. while (($account,$passwd,$uid,$gid,$quota,$coment,$gcos,$home,$shell) = getpwent())
http://blog.51cto.com/drinkey/images/editer/InBlock.gif26. {
http://blog.51cto.com/drinkey/images/editer/InBlock.gif27. write;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif28. $allcount ++;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif29. if ($passwd =~ /\$/){
http://blog.51cto.com/drinkey/images/editer/InBlock.gif30. $users[$syscount] = $account;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif31. $encrypt[$syscount] = $passwd;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif32. $syscount++;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif33. }elsif($passwd =~ /\*/ || $passwd =~ /\!/ || $passwd =~ /x/){
http://blog.51cto.com/drinkey/images/editer/InBlock.gif34. $lockcount++;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif35. }
http://blog.51cto.com/drinkey/images/editer/InBlock.gif36. }
http://blog.51cto.com/drinkey/images/editer/InBlock.gif37. $unknown = $allcount - $syscount - $lockcount;
http://blog.51cto.com/drinkey/images/editer/InBlock.gif38.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif39. # Print table Header.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif40. format AUSER_TOP =
http://blog.51cto.com/drinkey/images/editer/InBlock.gif41. =========================================================================================
http://blog.51cto.com/drinkey/images/editer/InBlock.gif42. Name Password UID GIDHome Shell
http://blog.51cto.com/drinkey/images/editer/InBlock.gif43. =========================================================================================
http://blog.51cto.com/drinkey/images/editer/InBlock.gif44. .
http://blog.51cto.com/drinkey/images/editer/InBlock.gif45. # Print table Body.
http://blog.51cto.com/drinkey/images/editer/InBlock.gif46. format AUSER =
http://blog.51cto.com/drinkey/images/editer/InBlock.gif47. @
页:
[1]