Como Identificar Diferentes Tipos de CAPTCHA
CAPTCHA (Teste de Turing Público Totalmente Automatizado para Diferenciar Computadores e Humanos) é uma tecnologia projetada para proteger sites. Ela protege contra spam, roubo de dados, ataques DDoS e outras ações maliciosas automatizadas.
Os CAPTCHAs estão em constante atualização e aprimoramento para dificultar ainda mais scripts potencialmente perigosos. Para verificar os visitantes do site e determinar se são humanos ou bots, os desenvolvedores criam vários métodos de teste e sistemas inteiros para proteção de dados. Os usuários podem ser solicitados a inserir texto, selecionar imagens, resolver um quebra-cabeça ou reconhecer áudio distorcido. As tecnologias modernas também buscam minimizar o inconveniente para usuários reais, permitindo verificações em segundo plano que não exigem ações e sendo ativadas apenas quando o uso suspeito de automação é detectado.
Este artigo ajudará você a identificar os tipos de CAPTCHA e entender seus mecanismos básicos, localizando elementos específicos no código HTML. Então, vamos começar!
O CAPTCHA é uma excelente forma de manter a segurança em sites. As etapas gerais desses sistemas de proteção nos sites-alvo incluem:
- Geração da Tarefa: O CAPTCHA gera uma tarefa para ser resolvida. Isso pode ser texto distorcido, seleção de imagens, áudio ou um elemento interativo, como um slider. Para dificultar para os bots, o texto pode ser distorcido e o áudio pode ter ruídos.
- Elemento CAPTCHA na Página: O CAPTCHA é adicionado como um elemento visível, como um campo de texto, imagem ou slider. Alguns CAPTCHAs, como o Google reCAPTCHA, carregam scripts de servidores para exibição em tempo real.
- Interação do Usuário: O usuário interage com o CAPTCHA inserindo texto, selecionando imagens ou movendo o slider. Quando a tarefa é concluída, a resposta é enviada ao servidor para verificação.
- Verificação: O servidor verifica a resposta quanto à precisão e conformidade. CAPTCHAs modernos também analisam o comportamento do usuário, como frequência de solicitações, uso de JavaScript, movimentos do mouse e padrões de entrada de texto.
- Resultado:
- Sucesso: Se a resposta estiver correta ou o comportamento parecer natural, o acesso é concedido.
- Falha: Se a resposta estiver incorreta ou o comportamento parecer suspeito, o CAPTCHA pode solicitar uma nova tentativa ou bloquear o acesso.
Os desenvolvedores de bots também estão evoluindo, e os simples CAPTCHAs de texto podem não ser mais eficazes para distinguir usuários reais de sistemas automatizados. Tecnologias modernas desenvolvem continuamente métodos de proteção de sites mais complexos e combinados. Vamos revisar alguns desses métodos:
- Análise de Solicitações e Respostas HTTP
- Cabeçalhos de solicitação e resposta são analisados: User-Agent, Referer, Accept-Language e Cookies. A ausência de valores padrão pode indicar automação.
- Parâmetros em URLs e solicitações POST são verificados em busca de valores suspeitos ou não padrões.
- A frequência de solicitações de um único IP é medida. Alta frequência pode sugerir atividade de bot.
- A presença e validade dos cookies são verificadas para identificar sessões e prevenir ataques repetidos.
- Análise de TCP/IP
- As características de configuração e quebra da sessão TCP são analisadas – tempos de conexão, frequência de solicitações e atrasos. Bots podem apresentar comportamentos incomuns em comparação com usuários reais.
- Padrões de transmissão de pacotes são examinados em busca de padrões recorrentes ou atrasos atípicos, o que pode sugerir automação.
- Análise de Sessão TLS
- Certificados são verificados em busca de suspeitas ou falsificações. Valores incomuns nos certificados podem indicar uma tentativa de contornar a proteção.
- O uso de criptografia e os processos de decodificação de dados são avaliados (bots podem ter dificuldades para lidar com criptografia).
- Fingerprinting de Dispositivo
- Perfil de navegador: Dados como versão do navegador, plugins, fontes e configurações de JavaScript são coletados para distinguir usuários reais de bots.
- Características do dispositivo são analisadas: resolução de tela, configurações de sistema operacional e tipo de dispositivo. Bots frequentemente usam dispositivos virtuais ou incomuns.
- Comportamento do usuário é avaliado: movimento do mouse, velocidade de digitação e frequência de interações.
Os usuários frequentemente encontram CAPTCHA em certos sites, mas podem não saber qual é o tipo. Para determinar o tipo, use as Ferramentas de Desenvolvedor (DevTools) e siga estes passos:
- Abra o DevTools: Pressione Ctrl+Shift+I (ou Cmd+Option+I no Mac) ou clique com o botão direito na página e selecione "Inspecionar" (ou equivalente).
- Vá para a aba "Elements": Esta aba exibe o código HTML da página. Use-a para localizar o elemento CAPTCHA.
- Encontre o Elemento CAPTCHA: Clique no ícone de seleção de elemento (que se parece com uma seta no canto superior esquerdo do DevTools) e selecione o CAPTCHA na página para destacar o código HTML correspondente.
- Inspecione o HTML e os Atributos: Verifique o código HTML do elemento destacado. O CAPTCHA pode ter identificadores ou classes exclusivas para ajudar a identificar seu tipo (por exemplo, class="g-recaptcha" para o Google reCAPTCHA).
- Vá para a aba "Network" e atualize, se necessário: Aqui, você pode ver todas as solicitações de rede relacionadas ao CAPTCHA. Procure por solicitações de API ou scripts que forneçam pistas.
- Encontre Scripts na aba "Sources" ou "Network": Identifique scripts que carregam ou inicializam o CAPTCHA, o que pode fornecer informações adicionais sobre seu tipo e origem.
Para as pessoas, resolver um CAPTCHA geralmente é fácil, mas pode ser uma barreira séria para bots. Embora muitos sistemas automatizados sejam usados para fins não maliciosos, como testes de sites, scraping seguro e automação de tarefas rotineiras, os mecanismos de proteção ainda podem desacelerar e complicar sua operação. A contornação de CAPTCHA exige um esforço considerável e tempo para adaptar o código. O serviço CapMonster Cloud simplifica esse processo, oferecendo soluções para os tipos de CAPTCHA mais populares:
- reCAPTCHA v2, v3, Invisível, Enterprise
- GeeTest
- Cloudflare Turnstile e Challenge
- Text CAPTCHA
- DataDome
- TenDI
- Amazon CAPTCHA e Challenge
Para enviar uma tarefa de resolução de CAPTCHA para o CapMonster Cloud, é essencial saber seu tipo e versão exata. Vamos dar uma olhada mais detalhada em cada tipo de CAPTCHA, suas características e como encontrar seus dados de identificação para ajudar você a identificar rapidamente qualquer CAPTCHA e resolvê-lo com sucesso usando o CapMonster Cloud!
O reCAPTCHA é desenvolvido pelo Google e usa uma combinação de análise do histórico de navegação, comportamento do usuário, endereço IP e outros indicadores para distinguir humanos de bots. Se o reCAPTCHA detectar algo suspeito, ele pode pedir ao usuário para confirmar sua "humanidade". As principais versões do reCAPTCHA são:
- reCAPTCHA v2: Isso envolve marcar uma caixa com a legenda "Eu não sou um robô" ou completar uma tarefa, como selecionar imagens com um objeto específico (motos, carros, semáforos, etc.). Um CAPTCHA de áudio também pode ser oferecido.
- reCAPTCHA v3: Esta versão não requer interação do usuário. Ela analisa o comportamento do usuário na página e atribui uma pontuação (1.0 – provavelmente um visitante real, 0.0 – provavelmente um bot). Pontuações baixas podem acionar verificações adicionais.
- reCAPTCHA Invisível: Parte do v2, mas sem a caixa de seleção visível. Assim como o v3, ele roda em segundo plano e solicita interação do usuário apenas quando comportamentos suspeitos são detectados.
- reCAPTCHA Enterprise: Uma versão avançada para proteção de sites.
O reCAPTCHA v2 visível pode ser identificado pela caixa de seleção e pelos prompts de tarefas. Já os CAPTCHAs invisíveis podem ser distinguidos pelas seguintes características: o reCAPTCHA v2 Invisível possui elementos com os atributos data-sitekey e data-callback.

reCAPTCHA v3 – na aba Network, você pode ver uma solicitação com a palavra-chave "render":

reCAPTCHA Enterprise (o mesmo para as versões 2 e 3) pode ser identificado pela palavra-chave “enterprise,” por exemplo, nas solicitações.


Na versão 4, o script pode ser carregado a partir de caminhos contendo v4; em vez de gt, é utilizado captcha_id.

A Cloudflare oferece uma alternativa ao CAPTCHA com verificação baseada em tarefas. A verificação pode ser concluída clicando no botão “Verifique se você é humano” ou rodando em segundo plano com base nas configurações do navegador, comportamento do usuário e dados de rede. Se um visitante passar com sucesso pela verificação, sua solicitação será processada. Caso contrário, a solicitação será bloqueada. Existem dois mecanismos para esse tipo de CAPTCHA: Turnstile e Challenge page.
O widget Turnstile é integrado ao site onde a proteção é necessária. Os tipos de widgets Turnstile incluem:
- Verificação não interativa: Nenhuma ação do usuário é necessária; ela verifica sinais do navegador e do dispositivo para identificar bots.
- Verificação interativa não intrusiva: Exige uma interação mínima (por exemplo, marcar uma caixa) se houver suspeitas de ações automatizadas.
- Verificação invisível no navegador: Funciona em segundo plano sem elementos visuais para o usuário.
Ao tentar acessar o site de destino, o usuário é redirecionado para uma página de verificação separada que exige que ele aguarde 5 segundos ou marque a caixa ao lado de “Verifique se você é humano”. Esse método pode ser mais intrusivo, pois requer que o usuário realize ações adicionais para obter acesso ao site.
Tipos de verificações usando a página Challenge:
- Desafio gerenciado (recomendado): A Cloudflare seleciona automaticamente o método de verificação adequado com base na solicitação. Isso ajuda a evitar o CAPTCHA e reduz o tempo que os usuários gastam resolvendo verificações.
- JS-Challenge: Não requer ações do usuário, apenas o processamento de JavaScript no navegador. Normalmente, leva menos de cinco segundos.
- Verificação interativa: Exige interação do usuário com a página de verificação (por exemplo, pressionando um botão).
O Challenge pode ser facilmente reconhecido usando as Ferramentas de Desenvolvedor (DevTools) pela seguinte característica: na primeira solicitação ao site de destino, um código de resposta 403 é retornado.

Este tipo de CAPTCHA pede aos usuários que reconheçam e digitem o texto exibido em uma imagem durante a verificação. Pode consistir em uma combinação de letras, números, palavras inteiras ou caracteres especiais. Anteriormente, esse era o método mais popular para verificar usuários contra bots, mas hoje em dia está se tornando menos comum, dando lugar a soluções mais modernas e eficazes.
Você pode identificar a presença de um ImageToText CAPTCHA pelas seguintes características:
- O CAPTCHA consiste em uma imagem e um campo de entrada para digitar o texto reconhecido. A imagem pode ser incorporada usando a tag
<img>
com um atributo src apontando para o arquivo contendo a imagem do CAPTCHA, enquanto o campo de entrada pode conter uma tag<input>
com o tipo text.

Para procurar o elemento <img>
que carrega a imagem, você pode usar o seguinte código JavaScript no Console:
document.querySelector('img[src*="captcha"]');
Como outros sistemas avançados semelhantes, o DataDome emprega métodos tanto do lado do servidor quanto do lado do cliente para detectar bots, analisando o comportamento do usuário, geolocalização, dados de rede, impressões digitais do navegador e outros parâmetros usando algoritmos de aprendizado de máquina em múltiplas camadas. O DataDome pode até identificar navegadores automatizados (como Selenium, Puppeteer, Playwright) e pode usar ofuscação de JavaScript para complicar a análise de seu código.
Você pode determinar a presença da proteção DataDome em um site pelo carregamento de um arquivo JavaScript do DataDome:


Nas requisições, a URL usada é – https://ca.turing.captcha.qcloud.com
.
O CAPTCHA e o Challenge do AWS WAF (Amazon Web Service) são dois mecanismos de verificação de usuários para proteger sites. Veja como eles diferem:
- CAPTCHA oferece aos usuários tarefas para completar, como digitar texto (menos comumente usado), mover um slider, selecionar objetos em uma imagem ou ouvir e digitar palavras a partir de áudio.
- Challenge funciona em segundo plano, analisando parâmetros de sessão e comportamentos de requisição (por exemplo, frequência de requisições, uso de JavaScript, comportamento do mouse, cookies). Se a verificação for bem-sucedida, o usuário continua a navegar no site. Caso contrário, a requisição pode ser bloqueada, ou o usuário pode ser apresentado a um CAPTCHA para uma verificação adicional. O sistema pode aumentar o nível de verificação ao detectar sinais de automação.
- Challenge: Verificação em segundo plano sem interface visível, mas cabeçalhos e dados relacionados à análise da sessão podem ser vistos nas requisições.
- CAPTCHA: Elementos de verificação visíveis, como seleção de imagens, além de requisições e respostas específicas para o servidor de CAPTCHA.
O código do CAPTCHA contém o script GokuProps, além de links para challenge.js e captcha.js:

Então, abordamos os principais tipos populares de CAPTCHAs, seu funcionamento geral e métodos de identificação. Claro, existem muitos outros tipos semelhantes de CAPTCHAs, mas com base nas informações deste artigo, você deve ser capaz de determinar facilmente o tipo deles e continuar trabalhando com eles. Cada CAPTCHA é único e possui seus próprios métodos de proteção — desde opções tradicionais baseadas em texto até sistemas modernos adaptativos. O mundo da tecnologia está sempre evoluindo, e é importante acompanhar as últimas mudanças nos métodos de proteção.
Esperamos que este artigo tenha sido útil e tenha esclarecido diversos aspectos dos CAPTCHAs e como contorná-los. Incentivamos você a experimentar as Ferramentas de Desenvolvedor para entender melhor como esses sistemas funcionam e a usar o CapMonster Cloud para tarefas eficazes de resolução de CAPTCHA!
NB: Como lembrete, o produto é usado para automatizar testes em seus próprios sites e em sites aos quais você tem acesso legal.