실습1. 아이디, 비밀번호 목록이 있는 브루트 포스 어택
실습2. 2단계 인증 우회
인증이란?

인증 vs 권한부여
인증은 사용자가 본인이 주장하는 사람인지 확인하는 과정입니다. 권한 부여는 사용자가 특정 작업을 수행할 수 있는 권한이 있는지 확인하는 과정
무차별 대입공격
웹사이트에서 잠재적인 사용자 이름이 공개적으로 노출되는지 확인해야 합니다. 예를 들어, 로그인하지 않고도 사용자 프로필에 접근할 수 있는지 살펴보세요. 프로필의 실제 내용이 숨겨져 있더라도 프로필에 사용된 이름이 로그인 시 사용한 사용자 이름과 동일한 경우가 있습니다. 또한 HTTP 응답을 확인하여 이메일 주소가 노출되는지 확인해야 합니다. 간혹 응답에 관리자나 IT 지원 담당자와 같은 고위 권한 사용자의 이메일 주소가 포함되어 있는 경우가 있습니다.
대응
높은 엔트로피를 가진 비밀번호를 생성하도록 하는 비밀번호 정책을 시행
- 최소 문자 수, 소문자와 대문자의 혼합, 특수 문자 하나 이상
해커의 무차별 대입공격 팁
근데...
사용자는 일반적으로 선호하는 비밀번호에 사소하고 예측 가능한 변경만 하는 경우가 많음..
Mypassword1!에서
Mypassword1@정도로 바뀜...ㅎ..
사용자 이름 열거형: 이미 있는 아이디입니다. 혹은 이미 있는 이름입니다. 등을 이용해서 무차별 공격의 범위를 줄임.

1. 버프슈트->프록시 -> 오픈 브라우저
-> 인터셉트는 오프 상태로 둔다
연구실 페이지를 버프 슈트 브라우저로 연다.

2. Burp를 실행한 상태에서 로그인 페이지를 조사하고 유효하지 않은 사용자 이름과 비밀번호를 입력하십시오.
-> My account에서 로그인 테스트 진행

3. Burp에서 프록시 > HTTP 기록으로 이동하여 해당 요청을 찾습니다.
요청에서 매개변수 POST /login값을 강조 표시 하고 Burp Intruder로 보냅니다.

4 Burp Intruder에서 username매개변수가 페이로드 위치로 자동으로 설정되는 것을 확인하세요. 이 위치는 두 개의 기호로 표시됩니다 §(예: username=§invalid-username§). 비밀번호는 일단 임의의 고정 값으로 두세요.

5. 저격수공격(페이로드)이 선택되어 있는지 확인하십시오 .

6. 페이로드 사이드 패널 에서 'simple list' 페이로드 유형이 선택되어 있는지 확인하십시오.

7. 페이로드 구성 에서 후보 사용자 이름 목록을 붙여넣으세요. 마지막으로 클릭하세요.공격을 시작하세요. 공격은 새 창에서 시작됩니다.






대충.. 무료버전을 사용하는 너는 속도가 느리다.

기다리면 완료됨.

이런식으로 뜬다면 실험실이 만료된 것이니 처음부터 다시하세요.
8. 공격이 완료되면 결과 테이블의 길이 열을 확인하세요. 열 헤더를 클릭하면 결과를 정렬할 수 있습니다. 항목 중 하나가 다른 항목보다 더 긴 것을 확인할 수 있습니다. 이 페이로드에 대한 응답을 다른 응답과 비교해 보세요. 다른 응답에는 Invalid username 메시지가 포함되어 있지만, 이 응답에는 Incorrect password가 포함되어 있는 것을 알 수 있습니다. 페이로드 열에 있는 사용자 이름을 기록해 두세요 .


9. 공격을 종료하고 침입자 탭으로 돌아갑니다. [clear §]를 클릭한 다음,방금 확인한 사용자 이름으로 username매개변수를 변경합니다. password매개변수에 페이로드 위치를 추가합니다. 결과는 다음과 같아야 합니다.username=identified-user&password=§invalid-password§

10. 페이로드 사이드 패널 에서 사용자 이름 목록을 지우고 후보 암호 목록으로 바꿉니다. start aattack을 클릭합니다.


11. 공격이 완료되면 상태 열을 확인하세요. 모든 요청에 상태 코드가 포함된 응답이 전송되었지만 200, 하나의 요청에만 응답이 전송된 것을 알 수 있습니다. 이는 로그인 시도가 성공했음을 의미하며, 페이로드 302 열에 있는 비밀번호를 기록해 두세요 .

12. 확인하신 사용자 이름과 비밀번호를 사용하여 로그인하고 사용자 계정 페이지에 접속하여 실습을 진행하세요.

2단계 인증 우회
때때로 이중 인증 구현에 결함이 있어 완전히 우회될 수 있는 경우가 있습니다.
사용자가 먼저 비밀번호를 입력하고, 별도의 페이지에서 인증 코드를 입력하도록 요청받는 경우, 사용자는 인증 코드를 입력하기 전에 이미 "로그인된" 상태가 됩니다. 따라서 첫 번째 인증 단계를 완료한 후 "로그인된 사용자 전용" 페이지로 바로 이동할 수 있는지 테스트해 보는 것이 좋습니다. 간혹 웹사이트에서 두 번째 인증 단계를 완료했는지 여부를 확인하지 않고 페이지를 로드하는 경우가 있습니다.

1. 버프슈트 -> 프록시 -> 오픈 브라우저 -> 인터셉트는 오프 상태로 둔다
연구실 페이지를 버프 슈트 브라우저로 연다.

2. 본인 계정에 로그인하세요. 2단계 인증 코드가 이메일로 발송됩니다. 이메일 클라이언트 버튼을 클릭하여 이메일을 확인하세요.





3. 계정 페이지로 이동하여 URL을 메모해 두세요.

https://0a72005f034f3d63825b5be600e400f7.web-security-academy.net/my-account?id=wiener
4. 계정에서 로그아웃하세요.

5. 피해자의 계정 정보를 사용하여 로그인하세요.

6. 인증 코드를 입력하라는 메시지가 나타나면 URL을 수동으로 변경하여 해당 페이지로 이동하세요 /my-account. 페이지가 로드되면 문제가 해결된 것입니다.

추가. 다른 풀이
3. 로그인 페이지에서 인터셉트 온 -> 피해자 아이디, 비밀번호 이용하여 로그인

4. 다음 단계 클릭

5. 드롭

6. 주소 내용 바꾸고, 인터셉트 오프 선택하면 우회 성공

'웹 해킹 > portswigger' 카테고리의 다른 글
| 버프슈트를 이용한 웹 해킹, 서버 측 취약점: OS 명령 주입 (0) | 2026.03.30 |
|---|---|
| 버프슈트를 이용한 웹 해킹, 서버 측 취약점: 파일 업로드 취약점 (0) | 2026.03.30 |
| 버프슈트를 이용한 웹 해킹, 서버 측 취약점: 서버 측 요청 위조(SSRF, Server-side request forgery) (0) | 2026.03.30 |
| 버프슈트를 이용한 웹 해킹, 서버 측 취약점: 경로 탐색, Path(Directory) Traversal (2) | 2026.03.23 |
| 버프슈트를 이용한 웹해킹: 버프슈트 설치 (1) | 2026.03.17 |