CAPTHCA공격

 

비밀번호 변경 시 2단계를 거침

1. CAPTCHA 확인

2. 확인 완료 비밀번호 변경

 

여기서 제대로 안되어있으면 해커가 확인한 것처럼 꾸미고 2만 할 수 있다

 

패스워드를 normal normal 해주고 버프스위트로 보게되면

 

step 은 1이고 password_new값과 password_conf 값 그리고 랜덤으로 정해지는 g_recaptcha-response값이 나온다

 

한번더 change를 눌러주니 step이 2로 변하게 된다

 

여기서 첫번째 요청은 생략하고 두번째 요청만 보내면 어떻게 될 것인가

 

버프스위트의 리피터 기능을 이용하면 된다

 

2번째 요청을 리피터로 보내주고 리피터에서 패스워드만 변경해주고 Go를 해주면 변경된다

 

확인을 위해 Response의 Render를 봐보면 제대로 된 것을 볼 수 있다

 

medium 단계를 봐보자

 

passed_captcha가 추가되었다 captcha를 제대로 입력했는지 확인하려고 한것같은데

 

똑같이 리피터로 보내고 변경하고 랜더를 확인해보면 정상적으로 변경되었음을 알 수 있다

 

high 단계

 

이번에는 user_token이 추가되었고 두단계가 아닌 한단계로 이루어져있다

 

소스코드를 봐보자 if 문 resp 쪽을 보면 || or연산이 있다 ( && 모든 조건이 참일 때 참, || 둘 중 하나만 참이여도 참)

 

즉, captcha를 거치지 않고

 

g-recaptcha-response 부분이 hidd3n_valu3 이고

 

User-Agent의 헤더부분이 reCAPTCHA가 된다면 참이된다

 

리피터에서 실습을 해보자

 

User-Agent : 부분 내용을 지워주고 reCAPTCHA 적어주고

 

g-recaptcha-response=hidd3n_valu3 을 적어준다

 

그리고 변경해주면 변경됨을 볼 수 있다

 

impossible 단계를 보자

 

디버깅된 코드가 없어졌다

 

csrf 실습과 마찬가지로 현재 패스워드 입력란이 생기게 하여 보안을 강화하였다

'Hacking > 웹 해킹' 카테고리의 다른 글

공부(10)  (0) 2021.09.17
공부(9)  (0) 2021.09.17
공부(7)  (0) 2021.09.16
공부(6)  (0) 2021.09.16
공부(5)  (0) 2021.09.16

+ Recent posts