이것저것

DVWA Brute Force Simulation-Easy version 본문

포트폴리오 만들기

DVWA Brute Force Simulation-Easy version

atfield1988 2025. 9. 5. 13:33

이번에는 DVWA를 이용하여 Brute Force Attack를 하겠습니다. 먼저 Security Level을 impossible에서 Low로 바꿔줍니다.

이제 공격을 하기 위해서 Foxyproxy에서 Burp를 활성화시키고 Burp Suite를 가동시킵니다.

그리고 그 다음에 뜨는 체크하는 것들은 그냥 체크체크하시면 아래와 같은 화면이 나옵니다.

여기서 이제 Proxy를 들어갑니다. 

Intercept OFF로 되어있는 것을 On으로 바꿔줍니다. 이제 DVWA로 돌아가서 아무 아이디 비번을 입력합니다. 로그인 버튼을 딱 누르면 당연히 로그인이 되지 않습니다.

Intruder로 들어가서 다음과 같이 바꿔주시면 됩니다.

username=abcd로 되어있으면 abcd를 shift 키로 잡고 쫙 땡겨서 Positions에 있는 Add$를 클릭하면 화면과 같이 바뀝니다.

passowrd도 위와 같습니다. 둘 다 하셨으면 옆에 payload 설정을 변경합니다.

select file 찾는 법

payload 1 설정을 이렇게 마치고 payload 2도 변경을 합니다. Selct file하는 법은 전자에 방법을 참조하셔서 진행시면 됩니다.

이제 공격을 할 차례입니다. Attack버튼을 누릅시다.

이런 식으로 payload 1(ID), payload 2(password)가 나옵니다. 그러면 여기서 나오는 수많은 payload 1과 payload 2를 무차별적으로 대입하여 그 중 확실한 이상 신호를 감지하여 정보를 탈취해야 합니다.

위 화면을 조금 더 확대해보면 자세히 알 수 있습니다.

다른 Request의 Length는 5029 or 5030입니다. 이는 몇 바이트가 차이가 나지 않으므로 의미가 없는 payload들입니다.
15번 Request의 Length는 5073입니다. 확실한 이상을 발견했습니다. 이에 맞는 payload 1=admin, payload 2=password를 찾았으니 이제 접속이 가능합니다. 값이 확 바뀌는 지점이 왜 탈취를 성공한 것일까요? 값이 확 바뀌는 이유는 로그인 성공과 실패 시 서버가 우리에게 전혀 다른 종류의 웹 페이지를 보내주기 때문입니다.

서버는 "당신이 입력한 정보가 틀렸습니다"라고 알려줘야 합니다. 그래서 대부분의 경우, 원래의 로그인 화면을 약간만 바꿔서 다시 보여줍니다.

로그인이 실패한 경우

보내주는 페이지: 로그인 페이지 + "아이디나 비밀번호가 틀렸습니다."라는 작은 오류 메시지

결과: 페이지의 기본적인 구조나 내용은 거의 변하지 않으므로, 응답의 크기(Length)도 거의 일정하게 유지됩니다.

로그인이 성공한 경우

서버는 "인증에 성공했습니다!"라고 알려주며, 사용자가 이용할 수 있는 완전히 새로운 페이지로 이동시킵니다.

보내주는 페이지: "admin님, 환영합니다!"라는 메시지가 있는 사용자 대시보드메인 페이지

결과: 이 페이지는 로그인 화면과는 구성, 내용, 기능이 완전히 다르므로, 코드의 양도 훨씬 많거나 다를 수밖에 없습니다. 따라서 응답의 크기(Length)가 이전과 확연히 달라지는 것입니다.

 

이제 탈취한 정보를 가지고 로그인을 해보겠습니다.

탈취 성공!!