비밀번호 무차별 대입 공격(Brute forcer)
비밀번호 무차별 대입 공격은 사용자에 대한 계정 정보를 획득하기 위하여 비밀번호로 입력 가능한 모든 문자 조합을 입력하여 사용자의 계정과 비밀번호가 일치할 때까지 대입하는 공격이다.
자동화 도구를 사용해서 공격할 것이고 무차별 대입 공격을 할 때는 웹 사이트의 비밀번호 정책을 파악한 다음 조합할 문자의 구성과 최소 문자열 길이를 정한다.
문자와 숫자가 조금만 복잡해져도 가능한 조합의 가지 수가 많아지기 때문에 공격에 성공하기 전까지 시간이 많이걸린다
버프스트위의 Intruder 기능을 사용한다.
Intruder 기능을 사용하기 위해
Send to intruder 을 해서 intruder이쪽으로 값을 전달했다.
intruder 탭에서 positions 탭을 클릭해서 §로 Payload가 들어갈 위치를 지정한다.
요청에 실리는 password 변수에만 Payload를 실을 수 있도록 위치를 변경한다
이렇게 위치를 변경해주고
공격 타입과 최대 길이를 지정해서 start attack 버튼을 클릭하면 공격을 할 수 있다.
대응방안
아이디와 비밀번호를 알고 있어도 캡챠를 입력하게 한다. 따라서 무차별 대입 공격이 불가능하다
이렇게 값을 입력해야 로그인을 하게하면 CAPTCHA 값까지 무작위 공격을 할수 없게되어 대응을 할 수 있다.
비밀번호 사전 대입공격
비밀번호 사전 대입 공격은 무차별 대입 공격과 비슷해 보이지만 비밀번호를 설정하는 사람들이 선호하는 문자열을 대입하는 공격이다.
인증 과정의 암호화가 복잡하여도 사용자가 설정하는 비밀번호가 간단하다면 공격자는 다른 사용자로 쉽게 로그인 할 수 있다.
따라서 사용자들이 가장 즐겨 쓰는 비밀번호를 마치 사전처럼 기록한 파일에 있는 문자열을 하나씩 대입하여 공격을 시도한다.
문자열을 하나씩 대입하여 공격 결과를 확인하기 때문에 무차별 대입 공격보다는 공격 속도가 빠르다.
하지만 사전 파일에 비밀번호 정보가 없다면 공격은 실패한다.
사전공격에 사용할 비밀번호 목록 파일을 다운로드한다.
FuzzDB를 다운로드 하여 사용한다.
FuzzDB는 퍼징에 사용되는 입력 값을 모은 데이터베이스이다. 아까 비밀번호 무차별 대입 공격 처럼 버프스위트에 Intruder기능을 사용해서 공격 해볼것인데
FuzzDB는 구글에서 간단히 받아서 사용이 가능하다
근데 다운로드 할때 백신 프로그램을 깔아두면 바이러스가 발견된다고 삭제당한다.
백신을 잠깐 끄고 받아서 압축을 풀면 받을수 있다
그리고 비밀번호 무차별 대입 공격 처럼 버프스위트를 설정해주고 어택 하면 공격이 가능하다
'OWASP top 10 ' 카테고리의 다른 글
[A3] 민감 데이터 노출 (0) | 2017.12.15 |
---|---|
[A2] 세션 관리 취약점 (0) | 2017.12.13 |
[A2] 인증 결함 -안전하지 않은 로그인 형식 (0) | 2017.12.13 |
[A1] Blind SQL 인젝션 (0) | 2017.12.12 |
[A1] SQL 인젝션 (0) | 2017.12.03 |