본문 바로가기
Web/DVWA 실습

DVWA-Brute Force(low, medium) 실습

by jh117jh 2022. 10. 30.
728x90

Brute Force 란?

비밀번호를 조합하거나 사전 파일에 들어있는 문자들을 각각 대입하여 공격하는 방식으로 가능한 모든 문자를 조합하여 공격하므로 비밀번호의 자릿수가 늘어 날 수록 시간이 기하급수적으로 늘어난다.

low level

먼저 아이디/비밀번호를 123으로 입력하여 로그인을 해보자

단순 아이디와 비밀번호가 틀렸다는 문구만 출력되고 아무런 조치가 없는 것을 보아 brute force공격에 취약한것을 알 수 있다.

버프스위트로 요청을 확인해 봤을때 아이디/비밀번호가 POST방식이 아닌 GET방식으로 전송 되는것을 알 수 있다.

이로 인해 아이디/비밀번호가 노출되어 변경하여 요청을 보내면 공격 할 수 있다.

 

버프스위트 intruder 기능을 통해 position에서 아이디/비밀번호를 설정해주고 공격 타입은 Cluster bomb으로 설정 한다.

payload 설정에서는  brute force로 설정후 최소,최대 길이를 설정해줄수있다.

여기서 brute foce의 단점을 알 수 있는데 아이디가 4자리로만 한정 되었다 설정했음에도 1,679,616의 경우의 수가 나오는것을 알 수 있다. 우리는 비밀번호까지 알아내야 하고 아이디/비밀번호의 길이가 늘어 날 수록 경우의 수가 기하급수적으로 늘어나는것을 알 수 있다.

공격 결과 하나하나 대입하여 요청을 확인하는것을 알 수 있다.

이렇게 대입하여 알아 낼 수 있지만 시간이 오래 걸리므로 Payload type을 Simple list로 아이디와 비밀번호를 알아냈을때 어떤 차이가 있을지 알아보자

아이디와 비밀번호가 admin, password일때 응답의 길이가 다른것을 알 수 있다. 그러므로 아이디는 admin 비밀번호는 password이다.

 

medium level

코드를 보면 low 레벨과 다르게 sleep 함수로 로그인에 실패하면 2초간 지연이 생기는것을 알 수 있다.

하지만 반복적으로 들어오는 요청에 대한 대응이 없기 떄문에 시간이 오래 걸릴 뿐 low레벨에서 진행 했던 버프 스위트를 이용하여 공격 할 수 있다.

 

이번 실습을 통해 brute force 공격의 한계를 알아볼 수 있었다.

728x90