Authentication - Brute forcing1

2021. 1. 7. 19:31문제연습/bs_Training

반응형

 

 

본 티스토리 블로그는 PC에 최적화되어 있습니다.

모바일 유저분들은 아래 네이버 블로그를 이용해 주세요.

 

 

Authentication - Brute forcing1

본 네이버 블로그는 모바일에 최적화되어 있습니다.PC 유저분들은 아래 티스토리 블로그를 이용해 주세요...

blog.naver.com

 

Lab: Username enumeration via different responses

 

인젝션 파트 중 바인드 인젝션 부분에서 문제 해설 중 약간의 문제가 발생하여

업로드가 조금 지연되는 점 양해 부탁드립니다.

 

저번 문제는 sql 인젝션 주제였다면 이번 문제부터는 웹 인증 우회에 관한 내용입니다.

한번 문제를 확인해 보도록 하겠습니다.

 

 

1. 문제 내용

기본적인 로그인 인증 취약점을 이용한 브루트 포싱(무작위 대입) 공격 문제인 듯합니다.

한번 접속해 보도록 하겠습니다.

 

 

초기 접속화면, 로그인 인증 화면

일단 아무 값을 넣고 로그인을 시도해보면 다음과 같은 화면이 나옵니다.

 

 

username이나 password가 안 맞으면 안 맞는 항목을 출력하고 로그인이 안 됐다는 창이 출력됩니다.

 

이 로그인 방식의 문제점은 로그인 횟수 제한이 존재하지 않고 잘못된 정보 종류를 알려주기에

무작위 대입 공격에 매우 취약한 사이트입니다.

 

일단 문제에서 제시한 id, pw candinate를 burp suite에 패턴으로 등록하여

대입 공격을 수행하도록 하겠습니다.

Authentication lab usernames, password

 

 

2. Attack

로그인 시도 부분을 프록시 툴로 돌리면 다음과 같습니다.

현재 조작 가능한 값이 session, csrf, username, password 부분입니다.

다른 부분은 그대로 두고 username, password를 이용한 payload를 작성해 보도록 하겠습니다,

 

action 탭에 intruder를 선택하고 intruder 탭으로 이동합니다.

 

intruder 탭으로 이동 후 positions 탭으로 이동하여 조작할 값을 add$ 해주고

cluster bomb를 선택해 줍니다.

(조작 값이 2개 이상이면 cluster bomb를 이용하면 됩니다. 자세한 내용은 구글링.)

 

다음으로 paloads 탭으로 이동하여 payload set 1, 2에 payload options를 이용하여 아까 확인한 무작위 대입 패턴들을 username, password 순으로 입력해 줍니다.

 

만약 burp suite가 체험 버전이면 sniper로 바꾼 후 하나하나 따로 돌리도록 합시다.

그리고 options 탭에 들어가 grep match 옵션에 Invalid username를 추가하고 어택을 시전하도록 하겠습니다.

 

 

- username 브루트 포싱

 

username을 찾아냈습니다.

username : app1

 

입력 통신, 비밀번호가 틀릴 시

 

 

- password 브루트 포싱

 

이번에는 Incorrect password로 grep 하고 공격을 시도하도록 하겠습니다.

뭔가 많은 시도 중에 Incorrect password가 없고 응답 코드가 302인 1234로

로그인을 시도했더니 로그인이 성공하였습니다.

 

 

 

여러분들도 사이트 계정 생성 시 잘 알려진 패턴의 비밀번호를 설정하면 이렇게 계정이 유출되고 도용당하는 겁니다.

 

가능하면 복잡도가 높고 추측하기 어려운 암호를 설정하시길 바랍니다.

이상 풀이를 마치도록 하겠습니다.

 

 

반응형