1. 실습 : Lab: Username enumeration via response timing
해당 실습은 ID가 일치한데 비밀번호가 틀릴 경우, 응답시간이 다른 것을 이용한다.
대신 비밀번호는 100자 이상 매우 길게 작성하여 ID가 있을때만 응답이 오래걸리는 취약점을 이용한 것이다.
추가로 동일 IP에 대해서 차단조치가 시행된다.
- solution
우선, ID와 비번 입력에 대해서는 기존의 intruder 기능을 사용하면 된다. 쉬움.
내가 어려움을 겪었던 점은 IP를 어떻게 바꾸는가? 였는데, 이는 X-Forwarded-For 헤더를 이용하면 되는 것이었다... 몰랐음;;
X-Forwarded-For 헤더 설명
: 프록시 서버나 로드 밸런서를 거쳐 웹 서버에 접속하는 클라이언트의 원래 IP 주소를 식별하기 위한 HTTP 헤더
2. 실습 : Lab: Broken brute-force protection, IP block
해당 실습은 접속하려는 ID에 대하여 비밀번호가 여러번 틀리면 IP block 되는 것이다.
이에 대한 허점으로 올바른 ID/PW를 한번 로그인 성공하면 틀린 횟수 초기화가 되는 것이다.
즉, ID/PW를 맞게 1번, 공격하려는 것 1번 이렇게 번갈아가면서 공격하는 것이다.
흠.... 요즘은 ID 여러 번 틀리면 막히니까 당연히 안 됨.. 나도 서버 설정할때 그렇게 해야함
3. 실습 : Lab: Username enumeration via account lock
이번껀 ID와 PW 리스트가 있으면 무차별 대입을 하는데, ID에 대하여 PW가 4번 이상 틀리면 에러 메시지가 바뀌는 것을 이용한 것이다.
해당 사이트의 취약점은 없는 ID에 대해서는 여러 번 틀려도 동일한 에러 메시지가 출력되지만, 존재하는 ID에 대해서는 여러 번 틀리면 다른 에러 메시지가 출력되는 것을 이용한 것이다.
PW도 마찬가지로, ID가 막혀도 PW를 계속 입력할 수 있으며, 계정이 막혀있는 시간동안 올바른 PW가 입력되면 다른 에러 메시지가 출력되는 허점이다.
이를 실습하는 방법은 solution을 참고하기.
여기까지가 'Vulnerabilities in password-based login' 관련 내용.
'스터디 > Authentication vulnerabilities' 카테고리의 다른 글
| Authentication vulnerabilities 3 (0) | 2026.04.14 |
|---|---|
| Authentication vulnerabilities (0) | 2026.03.31 |