티스토리 뷰

보안

Captcha Bypass(캡챠 우회)하는 9가지 방법

돔돔이부하 2021. 10. 21. 00:37
728x90
반응형

가끔 로그인 창이나 반복적으로 확인하거나 입력하기 위한 사이트에서 마주치는 것이 Captcha(캡챠)죠?

CAPTCHA는 기계는 인식할 수 없으나 사람은 쉽게 인식할 수 있는 텍스트, 이미지를 통해 사람과 기계를 구별하는 프로그램이다.

자동화된 프로그램이 접근하는 것을 막기위해서 다양한 방법이 있겠지만 비교적 저비용으로 수행할 수 있는 방법이 Captcha입니다.

 

가장 일반적으로 생각할 수 있는 우회 방법은 9가지로 아래와 같습니다.

  1. 아예 Captcha 관련 요청을 보낼 때 Captcha 관련 파라미터를 보내지 않는 방법입니다.
    • 아니면 POST 요청을 GET이나 다른 HTTP 요청헤더로 변경해보는 것도 방법입니다.
    • 아니면 그냥 JSON 형태로 보내던가 해봅시다.
  2. 아예 그냥 Captcha 파라미터에 빈 값을 넣고 보내봅니다.
  3. 혹시 Captcha 코드가 페이지에 노출되어 있는지 확인합니다.
  4. 혹시 Captcha 코드가 쿠키 값에 있는지 확인해봅니다.
  5. 혹시 옛날에 사용하던 Captcha 값을 재사용할 수 있는 지 해봅니다.
  6. 동일한 세션ID일 경우 Captcha 도 동일한 걸 여러번 사용할 수 있는 지 확인해봅니다.
  7. 만약 Captcha 생성에 일정한 규칙이나 수학적 알고리즘이 존재한다면, 알고리즘을 자동화해봅니다.
  8. 만약 Captcha 가 이미지 형태이며, 전체 이미지 개수가 별로 없다면, 이미지들을 MD5 해시화해서 구별해봅시다.
  9. 아니면 그냥 OCR(Optical Character Recognition)을 할 수도 있습니다. 가장 유명한 라이브러리 중에서는 tesseract-ocr 이 있습니다. (참고 : https://github.com/tesseract-ocr/tesseract)
 

GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository)

Tesseract Open Source OCR Engine (main repository) - GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository)

github.com

 

- 끝 -

 

추신 : 대회나 문제 풀이할 때 참고하려고 정리해둔 것을 실제 예매/예약하는 매크로 프로그램 제작에 쓰려고 캡챠 우회 방법에 대해서 질문하시는 분들이 계신데, 이를 악용하는 법에 대한 질문에는 따로 대답해드리지 않겠습니다. 또한 개발자라면 반드시 위 내용을 참고해서 캡챠 보안을 강화해주길 바랍니다.

728x90
반응형

'보안' 카테고리의 다른 글

[꿀팁]🤩리버스쉘(reverse shell) 쉽고 빠르게 여는 방법  (46) 2023.12.10
댓글