Linux Security Cookbook [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Linux Security Cookbook [Electronic resources] - نسخه متنی

Daniel J. Barrett, Robert G. Byrnes, Richard Silverman

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










Recipe 9.2 Testing Login Passwords (CrackLib)



9.2.1 Problem


You want assurance that your login passwords are
secure.


9.2.2 Solution


Write a little program that calls the
FascistCheck function from CrackLib:

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <crack.h>
#define DICTIONARY "/usr/lib/cracklib_dict"
int main(int argc, char *argv[]) {
char *password;
char *problem;
int status = 0;
printf("\nEnter an empty password or Ctrl-D to quit.\n");
while ((password = getpass("\nPassword: ")) != NULL && *password ) {
if ((problem = FascistCheck(password, DICTIONARY)) != NULL) {
printf("Bad password: %s.\n", problem);
status = 1;
} else {
printf("Good password!\n");
}
}
exit(status);
}

Compile and link it thusly:

$ gcc cracktest.c -lcrack -o cracktest

Run it (the passwords you type will not appear on the screen):

$ ./cracktest
Enter an empty password or Ctrl-D to quit.
Password: xyz
Bad password: it's WAY too short.
Password: elephant
Bad password: it is based on a dictionary word.
Password: kLu%ziF7
Good password!


9.2.3 Discussion


CrackLib is an offshoot of Alec Muffet's password
cracker, Crack. It is designed to be embedded in other programs, and
hence is provided only as a library (and dictionary). The
FascistCheck function subjects a password to a
variety of tests, to ensure that it is not vulnerable to guessing.


9.2.4 See Also


Learn more about CrackLib at http://www.crypticide.org/users/alecm.

Perl for System Administration
(O'Reilly), section 10.5, shows how to make a
Recipe 4.2]

/ 247