Security Level : low
패스워드 hacker를 입력합니다.
캡차가 확인되었습니다.
버프스위트 히스토리를 살펴보니 첫 번째 요청 step이라는 파라미터에 1이라는 값이 설정되어 있고, 입력했던 패스워드 hacker가 두 번 보내지고 있습니다. 그리고 g-recaptcha-response는 캡차를 확인할 때 계속 랜덤해서 생성되는 값입니다.
Step은 2라는 값이 설정되었고 패스워드가 한 번 더 전송되었습니다.
두 번째 요청을 Send to Repeater합니다.
패스워드를 hacker 대신 normal로 바꾸고 Send합니다.
Render 탭에서 패스워드가 변경되었다는 메시지가 나옵니다.
Security Level : medium
기존 패스워드와 캡차를 진행 후 Change 버튼까지 완료해줍니다.
low 단계와 마찬가지고 두 단계에 걸쳐서 패스워드를 변경하고 있습니다. 그리고 medium 단계에서는 챕차를 제대로 입력했는지 확인하려고 passed_captcha 파라미터가 추가되었습니다.
이 요청을 Send to Repeater를 하고 패스워드를 hacker에서 normal로 바꾸고 Send해줍니다.
Security Level : high
패스워드와 캡차를 진행하고 Change를 누릅니다.
히스토리탭에서 내용을 살펴보면 g-recaptcha-response 파라미터와 user_token 파라미터가 전달되고 있습니다. 이번에는 두 단계를 걸쳐서 전송되지 않고 한 번만 전송되었습니다.
g-recaptcha-response라는 피라미터의 값이 hidd3n_valu3라는 값이 되고, HTTP_USER_AGENT 값이 reCAPTCHA가 됩니다. OR 이라는 연산 때문에 g-recaptcha-response 파라미터와 HTTP_USER_AGENT의 값을 조작해서 이 조건을 만족시키게 되면 캡처가 올바르게 입력된 것처럼 처리됩니다.
요청을 리피터로 보낸 후 패스워드를 hacker2라고 변경하고 Send를 보낸 후 랜더에서 확인한 결과 챕차가 제대로 입력되지 않았다라는 메시지를 출력합니다. 캡차에서 요구되는 값은 매번 랜덤으로 생성되기 때문에 리피터로 사용된 값을 전송하더라도 캡차가 틀리게 됩니다.
g-recaptcha-response의 값을 hidden_valu3으로 바꾸고, HTTP_USER_AGENT값을 reCAPTCHA로 바꾸어 send를 누르면 성공적으로 패스워드가 변경되었습니다.
Security Level : impossible
CSRF 공격을 대응할 때와 마찬가지고 현재 패스워드를 입력하도록 하여 보안을 강화하였습니다.
'Hacking Study > Web Hacking' 카테고리의 다른 글
[DVWA] XSS(크로스 사이트 스크립팅) 공격 (1) | 2024.05.25 |
---|---|
[DVWA] 커맨드 인젝션 공격 (0) | 2024.05.25 |
[DVWA] SQL 인젝션 공격 (1) | 2024.05.24 |
[DVWA] 브루트 포스 공격 (0) | 2024.05.24 |
정보 수집과 대응 방법 (0) | 2024.05.23 |