책의 내용에 따라 브루트포스 공격을 실습해보고자 한다.
크게 두가지로 나뉜다
- 모든 경우의 수 를 넣는 브루트포스
- 자주 비밀번호로 쓰는 리스트를 넣는 딕셔너리 어택
실습을위해 DVWA에 접속했다.
브루트포스는 다음과 같은 화면이다.
비밀번호가 틀리면 다음과 같이 뜬다.
전전시간에 배운 BurpSuite의 Intruder 기능을 이용하여 Brute Force 공격을 실행해 보았다.
사이트를 로그인할때 보낸 http 요청을 찾아서 Intruder에게 보내면 아래와 같이 뜬다.
그리고 브루트포스를 할 password 부분을 설정하고
컴퓨터에 있던 password.lst (여러 비밀번호가 적혀있는 리스트 약 3000개) 를 훑으면서 응답을 확인한다.
그중 응답 길이가 다른 비밀번호가 있는데 이는 나머지는 로그인이 잘못됬다는 내용이고 하나만 성공적으로 실행되었다는 내용이니 비밀번호는 password 일것이다.
이런 BruteForce 공격을 방어하기 위해서는
- 비밀번호를 넣었을때 딜레이를 주는 방식
- 게임할 때 많이 봤던 CAPTCHA 를 사용한 로그인 등을 활용하는 방법이있다.
난이도를 Impossible로 설정하니 로그인 실패하고 15분을 기다리라는 모습이다.
그리고 SESSION ID가 노출되는 취약점에 대해서 설명을 했다.
이는 BWAPP에서 실습을 해보았다.
SESSIONID가 URL에 보여지고 있는 모습이다. 이 취약점을 보완하면
위와 같이 url에 보이지 않게 된다.
이렇게 해도
BurpSuite에서 요청을 살펴보면 쿠키에서 SESSIONID를 볼 수 있었다.
이를 방어하기위해서는 암호화를 이용하거나 유효시간을 두는 등의 방법이 존재한다고 한다.
'정보보안 > 화이트 해커를 위한 웹해킹의 기술' 카테고리의 다른 글
Command Injection (0) | 2022.01.29 |
---|---|
Blind SQL Injection (0) | 2022.01.29 |
SQL Injection (0) | 2022.01.25 |
정보 수집 (0) | 2022.01.22 |
Burp Suite 기능 (0) | 2022.01.22 |