Insecure CAPTCHA ?
- CAPTCHA ?
- Completely Automated Public Turing test to cell Computer and Humans Apart 의 약어
- 보통 로그인 등의 과정에 추가적인 인증 요소로 포함되어 위 사진과 같이 접근하고자 하는 대상이 실제 사용자인지 컴퓨터인지 구별하기 위해 사용되는 프로그램을 의미한다.
- Insecure CAPTCHA는 직역하면 안전하지 않은 캡챠라는 의미로 캡챠를 우회할 수 있는 취약점을 의미한다.
DVWA 환경에서 Insecure CAPTCHA 실습
- 우선 본 실습에 앞서 실습 환경의 경우 리눅스 환경에서 DVWA 환경을 구축한 후 가장 취약한 환경인 Low 레벨 환경에서 실습을 진행하였습니다.
- Insecure CAPTCHA 실습을 위해 해당 탭으로 이동한 모습
- 패스워드를 변경할 수 있는 기능과 함께 CAPTCHA가 포함되어져 있는 모습을 확인할 수 있다.
- 해당 페이지의 패스워드 변경 기능은 어떻게 동작하는지 확인하기 위해 일반적인 패스워드 변경을 시도하는 상황
- 변경할 패스워드를 입력하고 캡챠 인증을 수행한 후 Change 버튼을 클릭하여 진행
- 이전 사진에서 Change 버튼을 클릭하여 진행하였을 때 전송된 패킷을 Burp Suite를 이용하여 스니핑한 모습
- 해당 패킷을 살펴본 결과 Step 이라는 파라미터에 1이라는 값을 저장한 후 변경할 패스워드 및 캡챠 인증 정보와 함께 서버로 전송하는 것을 확인할 수 있다.
- Step 파라미터에 1이라는 값을 포함한 패킷이 전송된 후 캡챠 인증이 완료 되었다는 메시지가 출력되는 것을 확인할 수 있다.
- Change 버튼을 클릭하여 계속 진행
- Change 버튼을 클릭하여 패스워드 변경을 계속 진행한 결과 위 사진과 같은 패킷이 서버로 전송되는 것을 확인할 수 있었다.
- 해당 패킷을 살펴보면 이전 패킷과 다르게 Step 이라는 파라미터에 2라는 값과 변경할 패스워드가 포함된 패킷이 서버로 전송되는 모습을 확인할 수 있었다.
- Step 파라미터에 2라는 값과 변경할 패스워드가 포함된 패킷이 서버로 전송된 후 DVWA 페이지에 패스워드가 변경 되었다는 메시지가 출력되며 패스워드가 변경된 것을 확인할 수 있었다.
- 해당 과정을 보았을 때 Step 이라는 파라미터에 2라는 값은 캡챠가 인증 되었다라는 것을 증명할 수 있는 파라미터로 보여졌고, Step 이라는 파라미터에 2를 저장하고 변경할 패스워드와 함께 서버로 전송한다면 캡챠 기능을 우회하여 패스워드를 변경할 수 있을 것으로 보여졌다.
- 예상된 결과를 직접 실습해보기 위해 2번째로 전송된 패킷 즉, Step 파라미터에 2가 저장되어 서버로 전송된 패킷을 Burp Suite에 Repeater 탭으로 전송
- Step 파라미터에는 2를 저장하고, 패스워드 파라미터만 원하는 값으로 수정( 예시로는 hacker 로 수정 ) 후 서버로 전송하였음
- 이전에 정상적인 과정으로 패스워드를 변경하였을 때와 같이 패스워드가 변경되었다는 문구가 캡챠 기능을 거치지 않고 출력되는 것을 확인할 수 있었다.
- 실제 패스워드가 hacker 로 변경되었는지 확인하기 위해 패스워드에 hacker 를 입력하여 로그인을 시도하는 모습
- 최종적으로 캡챠를 우회한 패스워드 변경에 성공하여 패스워드가 hacker 로 변경되어 로그인에 성공한 것을 확인할 수 있다.
Insecure CAPTCHA 대응 방안
- CAPTCHA 인증과 관련된 요청은 실습과 같이 여러 단계로 나누는 것보다 요청 한번으로 해당 기능이 처리되도록 구현하는 것이 좀 더 안전하다.
- 하지만 대부분의 CAPTCHA 인증의 경우 쉽게 우회가 가능하기 때문에 중요한 기능을 포함한 요청의 경우에는 다른 추가적인 인증 요소(OTP, 기존 패스워드 인증 등)를 추가하여 구현하는 것이 좀 더 안전하다.
'CERT > 웹 모의해킹 실습' 카테고리의 다른 글
[웹 해킹] Blind SQL Injection / DVWA SQL Injection(Blind) 실습 / 대응 방안 / SQLMAP 사용법 (0) | 2023.06.16 |
---|---|
[웹 해킹] SQL Injection / DVWA 환경 실습 / 대응 방안 (0) | 2023.06.14 |
[웹 해킹] File Upload 공격 / DVWA 환경 실습 / 대응 방안 (0) | 2023.06.03 |
[웹 해킹] File Inclusion 공격/DVWA 환경 실습/대응 방안 (0) | 2023.05.27 |
[웹 해킹] CSRF(Cross-Site Request Forgery) 공격/DVWA환경 실습/대응 방안 (0) | 2023.05.27 |