DVWA 브루트 포스
브루트 포스 공격이란?
->다른말로 무차별 대입 공격이라고도 함, 조합 가능한 문자열을 모조리 하나씩 다 대입해보는 공격방식
자원만 충분하다면 성공확률이 100%인 공격 방식
DVWA 실습
DVWA와 버프스위트를 이용하여 브루트포스 공격을 실습해보자.
실습환경- 칼리리눅스 2019.1 , XAMPP로 DVWA환경 구축
사이트를 살펴보니 로그인화면이 나타나있다.
공격을 하기전에
일단 먼저 우리는 admin이라는 ID를 알고있다는 가정을 하고 문제에 접근하여보자.
ID에 admin을 입력하고 비밀번호에는 aaaa를 입력해보았다
당연히 유효하지 않은 로그인이라는 문자가 나타난다.
그렇다면 우리가 브루트포스 공격을 사도할 때
이렇게 일일이 비밀번호를 입력하며 공격을 시도해야 할까?
우리는 버프스위트를 이용하여 자동화 공격을 시도해 볼 것이다.
버프스위트를 켜고
이번엔 사이트 admin 이란 ID와 bbbb라는 PW로 로그인을 시도하여보자
(burp suite의 intercept는 꺼져있어야 한다!, 프록시 설정은 필수..)
하면
물론 또 실패할 것이다.
하지만 이 정보를 이용해서 버프스위트로 공격을 시도 할 수 있다 버프 스위트로 이동해서
Proxy메뉴에 HTTP History로 가보면
아마 맨 아랫줄에 있는 history를 살펴보면
GET방식으로 우리가 입력한 admin과 bbbb를 전달하는 것을 확인 할 수 있다.
이제 이 패킷을 우클릭 하여
네모 박스로 표시된 send to Intruder를 누르면
Intruder매뉴의 가장 나중 번호에 우리가 보낸 패킷 데이터가 들어온 것을 확인 할 수 있다.
positions 메뉴로 가보면 특정 문자들에 색이 칠해져 있는 것을 확인 할 수 있다.
빨간 상자는 쿼리 스트링 이라고 불리고 보라상자는 쿠키에 대한 데이터이다.
Clear $ 를 눌러 선택된 문자들을 다 선택 해제 시켜준후
우리가 건드려야 할 password부분 즉 bbbb를 클릭해주면
password로 삽입될 문자열 부분만 선택이 되고
선택을 해준뒤
Add$버튼을 눌러주면
브루트포스 공격을 위한 대상 설정은 마무리가 된다.
이제 payloads탭으로 이동해 공격을 실시해 보자.
payloads탭으로 이동하면
이러한 화면이 나온다.
이 화면에서 네모박스가 쳐진
simple list부분을 클릭하여
Brute forcer메뉴를 선택해주면
이러한 화면이 나타나게 된다
간단한 설명들을 사진에 설명해 놓았다.
보안의 중요성을 강조하기 위해 잠시 설명을 해보자면
특수문자가 두개만 추가되었을 뿐인데 40만번의 추가 공격 시도 횟수가 증가하고
최대길이가 1글자만 증가해도7800만번이 증가하고
2번만 증가해도 너무 커져 측정하기도 클 정도로 공격횟수가 증가하게 된다.
사이트에 회원가입을 할 때에 귀찮더라도 길고 여러가지 특수문자가 꼭 들어가야
하는 이유가 여기서 나온다…
꼭 보안을 위해 브루트 포스 공격에 어려운 문자열로 설정하자.
다시 본론으로 돌아와 공격을 시도해보자
start attack 버튼을 누르면
(중간에 나타나는 경고창은 그냥 ok 누르자)
이런식으로 일일히 모든 문자조합의 경우의 수를 일일이 대입한 결과를
나타내 준다.
만약 무언가 다른 응답 (ex로그인 성공) 등의 결과가 나타난다면 무언가 다른 값이 나타난 데이터가 검색될 것이다!
하지만… 이런 식의 공격은 성공율이 100프로이긴 하지만 모든 경우를 대입해
너무 오래 걸린다는 단점이 있다…
이러한 단점의 대안을 보완한 브루트포스 공격방식
바로 브루트포스 딕셔너리 공격 방식이다!
딕셔너리 공격 방식은 다음 시간에...
'웹해킹 > DVWA' 카테고리의 다른 글
DVWA 브루트 포스 - 방어법 (0) | 2020.07.11 |
---|---|
DVWA 브루트 포스 - 딕셔너리 공격 (0) | 2020.07.11 |