본문 바로가기

카테고리 없음

dictionary attack

반응형


딕셔너리 공격: 

 패스워드

패스워드 추출 혹은 암호의 해독에 쓰여지는 구식 공격 방법

단순 사전에 나와 있는 몇만 단어가 수록됬다고 가정할때 컴퓨터에게 자동처리 명령으로 실행시킬시 사전에 있는 단어 조합으로  패스워드를 추출할수있다.


 패스워드 대처 방법: 

기호나 숫자 등을 랜덤으로 조합시키면 됨 

 

암호해독 : 

사전에 있는 단어나 무작위로 모은 평문을 모두 암호화 하여, 그것과 목적으로 하는 암호를 대비하여 일치하는지 조사

대처 방법: 

암호문을 장문화 하는것이 유효 



패스워드 딕셔너리 어택 


#include <stdio.h>

#include <stdlib.h>

#include <string.h>


int main(int argc, const char * argv[])

{


    // insert code here...

    FILE *dictionary;

    char str[200];

    char *user_input;

    char string[200];

    int i;

    int found;

    

    found = 0;

    user_input = argv[1];

    dictionary = fopen("/passwords/wordlis/***.**","r"); // 경로 설정 

    

    while (fgets(str,sizeof(str),dictionary)!=NULL) {

        int len_str = strlen(str)-1;

        int len_userinput = strlen(user_input)-1;

        int key;

        

        if(str[len_str] == '\n')

            str[len_str] = 0;

        

        for(key=-20;key<=20;key++){

            for(i=0;i<=len_userinput;i++){

                string[i] = user_input[i]+key;

            }

            if(strcmp(string,str) == 0){

                printf("Found : %s\n",str);

                printf("Key: %d\n",key*-1);

                found++;

            }

                

        }

    }

    if(found == 0)

        printf("Not Found !\n");

    fclose(dictionary);

    return 0;

}



출처: http://www.securitytube.net/video/3859


반응형