정보보호 2일차 BruteForce

뭐라구요·2024년 3월 14일

BruteForce란?

조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법이다

그러니까 예를 들어 아이디만 알고 비밀번호를 모르는 상황에서 비밀번호 입력란에 1, 2, 3, 4 5....101, 102, 103 이런식으로 하나하나 다 대입하여서 암호를 알아내는 방법이다.

실습

suninatas.com 에서 Challenge 8번 문제로 실습을 해보자.

이런 화면을 확인할 수 있다.

개발자 도구를 열고 엘리먼트를 확인해보면 친절하게 힌트를 제공해준다.
아이디는 admin. 비밀번호는 0~9999를 대입해보면 풀 수 있는 문제다.

Burp Suite를 이용한 문제 풀이법


먼저 admin과 1을 입력하고 인터셉트한 내역이다.
이 부분을 Intruder로 보낸다.
pw가 필요하므로 pw부분만 add하여준다.

다음으로 payload탭으로 넘어가서 타입을 number로 지정해주고 1~9999로 범위를 지정해준다. 그리고 우측의 Start Attack을 누르면 공격을 시작한다.

7707부분을 보면 다른 숫자들은 결과의 길이가 2203으로 일정하지만 7707만 2260으로 다르므로 정답으로 유추해볼 수 있다.
7707을 입력하면 성공 메세지가 나온다.

Python을 이용한 풀이법

Burp Suite를 이용하면 속도가 굉장히 느리므로 파이썬을 이용해서 직접 요청을 보내 푸는 방법도 있다.

파이썬을 통해 Suninatas에 1~9999까지 request를 보낼 수 있다.
먼저 우리는 앞서 비밀번호가 1이 아니란걸 알았기 때문에 비밀번호에 1을 입력했을 때 나온 값(잘못됨을 나타내는 화면)과 다르다면 정답이라고 유추 할 수 있기 때문에 if문을 적어줬다.

이역시 7707이란 결과를 확인할 수 있다.

0개의 댓글