CAPTCHA는 인간 사용자와 자동화된 컴퓨터 프로그램을 구분하기 위해 개발되었습니다. 일반적으로 웹 서비스의 보호 장벽으로 사용되어 봇이나 자동화된 스크립트가 수행할 수 있는 다양한 유해하거나 방해적인 행위(다수 계정 생성, 자동화된 무차별 대입 공격 실행, 데이터 스크래핑, 스팸 발송 등)를 방지합니다.
CAPTCHA는 인간에게는 쉽지만 자동화된 알고리즘과 프로그램에는 어려운 도전-응답 테스트를 제시함으로써 이러한 행동을 방지합니다.
이 글에서는 가장 흔한 CAPTCHA 유형과 Bright Data의 Web Unlocker를 사용하여 이러한 문제를 우회하는 방법을 알아봅니다.
다양한 유형의 CAPTCHA
CAPTCHA 도전 과제는 다음과 같은 다양한 형태로 나타날 수 있습니다:
텍스트 기반 CAPTCHA
텍스트 기반 CAPTCHA는 가장 흔한 형태 중 하나로, 사용자는 왜곡되거나 독특한 스타일의 글꼴로 표시된 일련의 문자를 정확히 식별하여 입력해야 합니다. 응답의 정확도에 따라 웹사이트나 온라인 리소스에 대한 접근이 허용되거나 거부됩니다:

텍스트 기반 CAPTCHA의 특징은 다음과 같습니다:
- 왜곡: 텍스트 기반 CAPTCHA는 문자 가림을 위해 왜곡 기법을 적용하여 자동화 소프트웨어가 정확히 해석하기 어렵게 만듭니다. 이 왜곡에는 크기, 모양, 회전, 글꼴, 스타일, 간격 변경 등이 포함됩니다.
- 시간 제한: 텍스트 기반 CAPTCHA 챌린지는 일반적으로 완료를 위한 사전 정의된 시간 제한이 있습니다. 이는 정교한 소프트웨어가 시간 지연을 악용하여 이러한 챌린지를 해결하는 것을 방지하는 추가적인 보안 계층을 도입합니다.
- 대소문자 구분: 텍스트 기반 CAPTCHA는 대개 대문자와 소문자를 모두 포함하며, 사용자는 적절한 대소문자 구분을 적용하여 문자를 입력해야 합니다.
- 무작위 생성: 이 CAPTCHA 문제에 등장하는 문자는 일반적으로 무작위로 생성되어 각 문제가 고유하도록 보장합니다.
이미지 기반 CAPTCHA
이미지 기반 CAPTCHA에서는 사용자에게 접근 권한을 얻기 위해 식별하고 올바르게 상호작용해야 하는 이미지가 제시됩니다. 이러한 이미지 도전 과제는 시각적으로 매력적이면서도 자동화된 스크립트에 도전적으로 설계됩니다. 이는 일반적으로 자동화된 스크립트의 능력을 넘어서는 정교한 이미지 인식 능력을 요구하기 때문입니다:

이미지 기반 CAPTCHA의 주요 특징은 다음과 같습니다:
- 시각적 식별 및 상호작용: 이미지 기반 CAPTCHA는 종종 사용자가 이미지 내에 포함된 특정 구성 요소를 식별, 인식하고 상호작용하도록 요구합니다. 이러한 구성 요소에는 사물, 표지판 또는 기타 시각적으로 구별 가능한 항목이 포함될 수 있습니다.
- 퍼즐 해결: 특정 유형의 이미지 기반 CAPTCHA는 사용자에게 해결해야 할 퍼즐을 제시합니다. 이러한 작업에는 유사한 요소 매칭이나 복잡한 시각적 패턴 완성 등이 포함될 수 있습니다.
- 시간 제한: 텍스트 기반 CAPTCHA와 마찬가지로, 이미지 기반 CAPTCHA도 종종 시간 제한을 부과합니다.
음성 기반 CAPTCHA
오디오 기반 CAPTCHA는 주로 시각 장애인을 위한 대체 인간 인증 수단으로 개발되었습니다. 그러나 왜곡된 텍스트를 해독하거나 이미지 기반 작업 수행에 어려움을 겪는 사용자에게도 유용한 대안이 될 수 있습니다.
오디오 CAPTCHA 과제에는 문자열을 듣고 올바른 순서로 입력하거나, 특정 단어를 들었을 때 지정된 버튼을 클릭하는 등 음성 기반 지시에 응답하는 활동이 포함될 수 있습니다:

오디오 기반 CAPTCHA의 주요 특징은 다음과 같습니다:
- 접근성: 오디오 기반 CAPTCHA는 주로 스크린 리더나 기타 보조 기술을 사용하는 시각 장애인 사용자에게 접근성을 제공하기 위해 설계되었습니다.
- 낮은 보안 수준: 시각 기반 CAPTCHA에 비해 오디오 기반 CAPTCHA는 보안 수준이 낮습니다. 이는 주로 오디오 문제를 분석하고 응답할 수 있는 고급 봇에 대한 취약성이 증가하기 때문입니다. 이러한 위험을 완화하기 위해 오디오 CAPTCHA는 종종 배경 소음, 음높이 변화 또는 기타 오디오 변조와 같은 요소를 통합하여 문제의 복잡성을 높입니다.
퍼즐 기반 CAPTCHA
퍼즐 기반 CAPTCHA 도전 과제는 사용자가 더 큰 퍼즐의 조각들을 정확히 완성하도록 요구합니다. 이 인간 인증 방식은 텍스트 기반 CAPTCHA보다 더 안전한 접근법을 제공합니다. 일반적인 퍼즐 유형으로는 슬라이딩 퍼즐, 패턴 인식, 색상 매칭 등이 있습니다:

퍼즐 기반 CAPTCHA의 주요 특징은 다음과 같습니다:
- 보안성 강화: 퍼즐 기반 CAPTCHA는 패턴 매칭 및 이미지 인식과 같은 능력을 요구하기 때문에 일반 텍스트 및 광학 문자 인식보다 복잡하여 자동화된 봇에 덜 취약한 것으로 알려져 있습니다.
- 상호작용성: 퍼즐 기반 CAPTCHA는 상호작용을 위해 설계되었습니다. 이는 사용자에게 더 매력적이고 즐거운 경험을 제공합니다.
웹 언락커로 CAPTCHA 우회하는 방법
웹 스크래핑의 대중화로 인해, CAPTCHA 해결 솔루션은 이제 머신 러닝과 인공지능을 활용하여 CAPTCHA 문제를 식별하고 효과적으로 우회합니다. Bright Data Web Unlocker가 바로 그러한 솔루션 중 하나입니다.
웹 언락커를 사용하면 프록시 요청을 쉽게 시작할 수 있습니다. 사용자는 대상 웹사이트를 지정하고 HTML 및 JSON을 포함한 여러 형식으로 체계적인 응답을 받을 수 있습니다. 웹 언락커의 알고리즘은 최적의 프록시 네트워크를 식별하고, 요청 헤더를 맞춤 설정하며, 브라우저 지문 인식 기능을 구현하고, 모든 유형의 CAPTCHA 문제를 해결하므로 데이터 검색 과정도 간단합니다.
CAPTCHA 해결을 위해 Web Unlocker를 활용하려면 무료 체험판에 가입하세요. 지정된 입력 필드에 정보를 입력하면 환영 화면으로 이동합니다:

프록시 및 스크래핑 인프라 선택에서 Web Unlocker 솔루션을 선택하세요. 이후 구성 단계로 이동하여 원하는 이름과 설정값을 입력할 수 있습니다:

완료 후 ‘저장 및 활성화’를 선택하세요. 제품 활성화 전 결제 정보 입력을 요청받게 됩니다. 무료 크레딧을 활성화하기 위한 필수 절차이지만 실제 결제는 발생하지 않습니다.
결제 정보 입력 후 프록시 및 스크래핑 인프라 섹션으로 돌아가세요. 리소스 목록에서 새로 생성된 웹 언락커를 찾아 클릭하면 웹 언락커 솔루션의 ‘액세스 매개변수’ 탭으로 이동합니다:

접근 자격 증명에는 프록시 요청 인증에 사용될 호스트, 사용자 이름, 비밀번호가 포함됩니다. ‘코드 확인 및 통합’ 버튼을 클릭하면 curl 스크립트가 표시됩니다:

스크립트를 복사한 후 터미널 또는 명령 프롬프트를 실행하세요. 스크립트를 실행하면 터미널 창에 데이터가 가져와져 표시됩니다:
{
"ip": "196.212.93.740",
"country": "US",
"asn": {
"asnum": 265,
"org_name": "Vodafone"
},
"geo": {
"city": "Newyork",
"region": "NE",
"region_name": "North East USA",
"postal_code": "",
"위도": 40.7128,
"경도": 74.0060,
"tz": "USA/NY",
"lum_city": "newyork",
"lum_region": "ne"
}
}
이는 Web Unlocker가 https://lumtest.com URL에 대한 쿼리를 실행했음을 보여줍니다.
Bright Data Web Unlocker의 기능을 더 자세히 보여드리기 위해, Web Unlocker를 사용하여 CAPTCHA로 보호된 웹 리소스에 접근하는 방법을 살펴보겠습니다.
이 문서에서는 Web Unlocker를 사용하여 Postman의 CAPTCHA로 보호된 로그인 페이지에 접근하는 방법을 설명합니다.
개인 또는 시크릿 창에서 Postman 로그인 URL(예: https://identity.getpostman.com/login)을 붙여넣고 Enter 또는 Return 키를 누릅니다. 다음과 같이 CAPTCHA 챌린지가 나타납니다:

도전을 성공적으로 완료하면 Postman 로그인 페이지가 열립니다:

Bright Data Web Unlocker를 사용하여 이 CAPTCHA를 우회하려면, 명령줄 또는 터미널에서 다음 curl 요청을 실행하여 Web Unlocker를 통해 Postman으로 프록시 요청을 시작하세요:
curl --proxy brd.superproxy.io:22225 --proxy-user [BRIGHTDATA USERNAME]:[BRIGHTDATA PASSWORD] -k https://identity.getpostman.com/login
프록시 주소와 사용자를 본인의 Bright Data Web Unlocker 프록시 자격 증명으로 반드시 교체하십시오.
curl 명령어 실행 시 Web Unlocker가 자동으로 CAPTCHA를 우회해야 합니다:

이를 확인하려면 curl 응답을 복사하여 원하는 웹 편집기에 붙여넣으세요. 결과는 Postman 로그인 페이지의 HTML 표현이어야 합니다:

시스템에 Web Unlocker를 원활하게 통합하려면, 원하는 프로그래밍 언어, 대상 URL 및 추가 설정을 지정하여 필요한 코드를 생성할 수 있습니다. 생성된 코드를 복사하여 데이터 수집 솔루션에 통합하기만 하면 간편하고 번거로움 없는 경험을 누릴 수 있습니다:

결론
Bright Data Web Unlocker와 같은 도구의 출현은 데이터의 자동화된 접근 및 수집 방식을 재정의했습니다. 본 문서에서는 다섯 가지 유형의 CAPTCHA와 이를 우회하는 기법에 대해 알아보았습니다.
웹 언락커가 CAPTCHA 자동 해결의 한 방법을 제공할 수 있지만, 그 사용의 윤리적·법적 함의를 인식하고 책임감 있고 악의적이지 않은 방식으로 활용하는 것이 중요합니다.