본문 바로가기
해킹/웹해킹

CAPTCHA 공격

by 맑은청이 2020. 5. 7.
728x90
반응형

오늘은 CAPTCHA 를 공격하는 방법을 알아보겠습니다. CAPTCHA란 아래와 같이 기계가 인식할 수 없는 늘어뜨린 글씨로 사람인지 파악하는 겁니다. 회원가입이나 비밀번호 변경같이 사람이 직접하지 않으면 문제가 되는 상황에 쓰입니다. 

CAPTCHA 예시

 

하지만 이를 제대로 구현하지 않으면 해커는 이를 우회하여 공격할 수 있습니다. 

비밀번호 변경이 다음과 같이 두단계로 이루어집니다. 

 

1. CAPTCHA 확인

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

 

이렇게 인데 해커가 마치 CAPTCHA를 이미 확인한 것과 같이 꾸미는 겁니다.

자, 그럼 DVWA 로 가보겠습니다. 

보안을 LOW 단계로 설정하고 

CAPTCHA 화면 

 

 비밀번호를 normal로 바꿔 보겠습니다. 

 

변경되었다는 메세지가 나옵니다. burp-Start 로 가서 확인해봅니다.

첫번째 요청을 확인해보면 1이라는 값과 저희가 보낸 normal 이 두번 적혀있고 recaptch-response는 이는 captcha를 확인할 때 계속 랜덤으로 생성되는 것을 의미합니다. 그리고 마지막에 Change 가 들어가 있네요 .여기서 스탭이 1이라는 거에 집중합시다. change를 한번 더 눌리면 아래와 같이 Request가 됩니다. 

보면 step 이 2고 여기도 비밀번호가 다 적혀져서 날라갑니다. 

 

그럼 첫번째 요청을 생략하고 두번째 요청을 보내면 어떻게 될까요?

 

칼리리눅스에서는 Repeater로 간편하게 request 를 변경시킬 수 있습니다. 

Repeater로 가서 비밀번호 부분을 'hacker'로 바꾸고 Go를 해봅시다.

 

password가 변경되었음을 알 수 있습니다. 확인하면 normal로 로그인이 되지 않습니다. 

 

 

이제 미디엄 단계로 가볼까요?

 

일단은 처음처럼 비밀번호를 'normal'로 설정하고 change를 누릅니다. 전단계와 같은 순서로 진행되는 것을 알 수 있습니다. 버프스위프를 킵니다.

 

다른 건 똑같은데 'passed_captcha=true'부분이 추가되었습니다. captcha 를 제대로 했는지 확인하기 위함입니다. 그럼 repeater로 다시 보내보겠습니다.

 

파라미터를 하나 추가했지만 여전히 비밀번호가 변경되었음을 볼 수 있습니다. 

 

미디엄 단계가 쉬웠습니다. 그럼 HIGH 단계로 가 볼까요?

 

정상적으로 실행을 해보면

'user_token'이라는 파라미터가 추가되었습니다. 여기서 중요한 것은 예전과 같이 2단계가 아닌 한단계로 비밀번호 변경이 진행된다는 겁니다. low,median 에서 썼던 방식은 이제 통하지 않습니다. 소스코드를 확인해보겠습니다.

 

 

if 문을 보면 resp 가 참이되거나 'g-recaptcha-response'가 'hidden valu3'이고 서버가 'HTTP_USER_AGENT'가 'reCAPTCHA' 이면 됩니다. resp는 captcha가 제대로 됐는지 확인하는 값입니다. 하지만 이때 해커가 POST값과 SERVER의 값을 조작한다면? 해킹에 성공할 수 있습니다. 실습으로 확인해봅시다. 

 

 

이때까지 했던 방식과 동일하게 진행하면 CAPTCHA가 다르게 입력됐다는 걸 볼 수 있습니다. 

 

CAPTCHA에서 요구하는 값은 매번 랜덤하게 생성되기 때문에 지금처럼 리피터로 옛날에 전송하던 값을 전송하더라도 틀리게 되는 겁니다. 그럼 이제 'g-recaptcha-response' 값을 다음과 같이 바꿔보겠습니다. user-agent 부분도 소스코드에서 봤던거처럼 reCAPTCHA 값으로 바꿉니다. 비밀번호가 변경된 것을 확인할 수 있습니다. 

 

한단계로 단계를 줄인 것은 좋았으나 if 문으로 파라미터값을 대조하는 부분에서 문제가 발생했습니다. 개발을 할때 이런 부분이 노출되지 않게 하는 것이 중요합니다. 

 

CAPTCHA 실습이 끝났습니다! 대응 방법은 아래 포스팅에 있으니 봐주세요!

https://com24everyday.tistory.com/42

 

CAPTCHA 공격대응

CAPTCHA 공격에 대한 대응을 알아보겠습니다. 만약 이 공격을 처음 들어보신다면 아래 포스팅을 살짝쿵 보고 와주세요! https://com24everyday.tistory.com/41 CAPTCHA 공격 오늘은 CAPTCHA 를 공격하는 방법을 알..

com24everyday.tistory.com

 

728x90
반응형

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

CAPTCHA 공격대응  (0) 2020.05.07
파일 업로드 대응 방법  (0) 2020.05.06
파일 업로드 공격  (0) 2020.05.06
파일 인클루젼 공격대응  (0) 2020.05.04
파일 인클루젼 공격  (0) 2020.05.04