>  기사  >  운영 및 유지보수  >  Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

PHPz
PHPz앞으로
2023-05-12 10:04:111836검색

안녕하세요 여러분, 아래 공유된 글은 작성자가 Tumblr 사용자 등록 과정에서 발견했으며 Tumblr의 "인간-기계 인증" 메커니즘(reCAPTCHA)에 결함이 있어 쉽게 우회할 수 있습니다. 이러한 우회로 인한 보안 위험은 악의적인 공격자가 가짜 소셜 계정을 대량 생성하고 해당 계정의 사용자 이름과 이메일 주소를 열거할 수 있다는 점이며, 이로 인해 간접적으로 Tumblr 웹사이트 애플리케이션의 비정상적인 트래픽이 발생하고 심지어 사용자 정보가 유출될 수도 있습니다.

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

취약점 테스트에 대한 나의 이해와 경험을 공유합니다

지난해 6월 16일 런던에서 HackerOne이 개최한 해커톤 대회에서 취약점 발견에 대한 포상금이 80,000달러를 넘었습니다. 취약점 공개 테스트는 실제로 미래가 유망한 산업입니다. 공개 테스트 플랫폼의 경우 현상금이 포함된 조직적인 테스트 활동은 보안 연구원이 취약점을 발견하도록 동기를 부여할 뿐만 아니라 보고된 취약점의 품질을 향상시키고 자세한 취약점 정보를 제공할 수도 있습니다. 신속한 수리를 위해 제조업체에 문의하십시오.

보안은 복잡한 주제이므로 대기업도 실수를 할 수 있습니다. 기업은 내부 리소스와 외부 공격자 사이에서 불확실한 보안 위험에 직면하는 경우가 많으며, 취약성 공개 테스트는 기존 보안 격차를 보완할 수 있습니다. 조직 내에서 고품질의 다양한 보안 테스터를 교육하거나 선택할 수 없는 경우 외부 공개 테스트 프로젝트나 컨설팅 서비스를 활용하여 보안 제품 또는 관련 시스템을 테스트하고 취약점을 발견할 수 있습니다.

개인적으로 공개 테스트 과정에서 좋지 않은 경험도 겪었습니다. 나는 한때 모든 계정에 대한 액세스를 허용하는 고위험 취약점을 Myspace에 보고했지만 Myspace와 오랜 협상 중에 그들은 단순히 무관심했고 결국 취약점을 공개하기로 결정했습니다(읽으려면 여기를 클릭하십시오). 이 취약점은 거의 3억 6천만 명의 사용자 계정에 영향을 미칩니다. 대중의 압력을 받아 취약점을 수정하도록 유도할 수 있기를 바랍니다.

반대로 텀블러사의 reCaptcha 인증코드 우회 취약점을 발견한 적이 있는데, 트위터로 제보한 후 비공개 메시지로 직접 연락을 했더니 이틀 만에 취약점이 수정되었습니다. 다음은 취약점 발견 과정을 공유한 내용입니다.

Tumblr의 reCaptcha 인증코드 우회 취약점

사용자 등록을 위해 www.tumblr.com을 방문했을 때, 거기에 내장된 Google reCAPTCHA 인증코드 서비스에 잘못된 구성 취약점, 즉 클라이언트와 애플리케이션에서 보낸 reCAPTCHA가 있는 것을 발견했습니다. 인증코드 요청 시 'g-recaptcha-response'라는 매개변수 값은 비워둘 수 있습니다. 이 취약점은 새로 등록된 모든 사용자에게 영향을 미치며 이를 악용하기 위해 특별한 도구가 필요하지 않습니다. 웹 사이트에 나타나는 버튼을 수동으로 클릭하거나 패킷 캡처 에이전트를 통해 수정을 시작하기만 하면 됩니다.

취약점의 영향

일반적으로 Captcha 메커니즘이 제대로 실행되고 배포되면 스팸 사용자가 가짜 소셜 계정을 생성하는 것을 방지하고 스팸 사용자 수를 줄이는 데 사용할 수 있는 속도 제한 효과(Rate Limiting)가 있습니다. 특정 응용 프로그램에 대한 요청. 제가 발견한 Tumblr 페이지 reCAPTCHA 인증 코드 우회 취약점은 공격자가 가짜 계정을 생성하는 데 사용될 수 있습니다. 또한 Tumblr의 사용자 등록 메커니즘은 등록된 이메일 주소를 사용자 이름에 바인딩하는 것만 허용하므로 이 취약점을 대상으로 사용할 수도 있습니다. 이메일 주소 및 사용자 이름에 대한 무차별 열거 공격을 반복하면 Tumblr 사용자 등록 정보가 유출될 수 있습니다.

취약성 재발

먼저 www.tumblr.com 페이지의 일반적인 계정 생성 과정을 살펴보겠습니다. 먼저 로그인 페이지 https://www.tumblr.com/login으로 이동하여 "가입" 버튼을 클릭하세요. ":

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

그런 다음 계정 등록 페이지로 이동합니다 https://www.tumblr.com/register :

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

그런 다음 '시작하기' 버튼을 클릭하고 사용자 이름, 비밀번호, 이메일 주소를 포함한 일부 필수 옵션이 표시됩니다.

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

위의 필수 필드를 완료한 후 나이를 입력하고 서비스 약관도 확인해야 합니다.

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

다음으로 " 인간-컴퓨터 신원 확인'이 팝업됩니다(reCAPTCHA) 페이지:

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

여기에 배포된 "인간-기계 인증"(reCAPTCHA) 옵션 외에도 그 아래에 "거의 완료되었습니다!" 옵션도 있습니다. 재미있는 점은 일반적으로 다음 단계로 진행하기 전에 "인간-기계 인증"을 완료해야 하지만, 제가 테스트한 결과 "인간-기계 인증"에서 "로봇이 아닙니다"를 무시하면 됩니다. 여기서 소위 "인간-기계 인증"을 완료하려면 아래의 "거의 완료되었습니다!"를 클릭한 후 사용자의 Tumblr 홈페이지로 바로 다음 단계로 이동합니다. 이 "인간-컴퓨터 인증"(reCAPTCHA) 배포는 단지 보여주기 위한 것입니까?

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

패킷 캡처 분석

심층적인 분석을 위해 Burp를 사용하여 "인간-기계 인증"(reCAPTCHA) 단계에서 사용자가 시작한 특정 요청과 응답을 확인합니다.

"인간-컴퓨터 인증"을 시작할 때 POST 요청은 다음과 같습니다.

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

위 POST 요청을 잘 살펴보면 recaptcha 챌린지가 'g-recaptcha-response'라는 매개변수 값인 것을 알 수 있습니다. 위의 그림에서 빨간색 부분입니다. 하지만 이 매개변수 값을 공백으로 두면 이를 확인하지 않는 것과 같습니다. 이렇게 구성된 POST 요청은 다음과 같습니다.

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법

테스트 결과 Tumblr 서버가 위의 두 POST 요청에 대해 동일하고 유효한 응답을 반환한 것으로 나타났습니다.

Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법 물론, 즉, Tumblr 서버가 'g-recaptcha-response' 매개변수 값을 확인하는 것을 잊어버렸기 때문에 위에서 언급한 "인간-기계 인증"(reCAPTCHA) 메커니즘이 우회되었습니다.

많은 웹사이트 애플리케이션이 사용자 기반의 높은 신뢰도를 요구하지만, 이와 같은 인증 우회 취약성은 이러한 웹사이트에서도 흔히 발생합니다. 아니요, 얼마 전 Google은 reCAPTCHA를 완전히 우회하는 취약점을 수정했습니다.

위 내용은 Tumblr 사용자 등록 과정에서 reCAPTCHA 확인을 분석하고 우회하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제