정보보호 2일차 BruteForce

뭐라구요·2024년 3월 14일
0

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개의 댓글