Wilberhg's blog

Quebra Hcaptcha com Death By Captcha

Tutorial Passo-a-Passo

  1. Após se autenticar no portal do DeathByCaptcha, selecionar a opção "API";

    1. Ex.:

      deathbycaptcha-apis

  2. Selecionar o "Hcaptcha";

    1. Ex.:

      hcaptcha-menu

  3. Clicar em "Python v3";

    1. Ex.:

      hcaptcha-python-file

  4. Descompactar o arquivo "dbc_api_v4_6_3_python3.zip";

  5. Abrir o script "new_hcaptcha.py" no seu editor de preferência;

    1. Ex.:

      new-hcaptcha-code

  6. Após abrir o código de Python, será necessário inserir as credenciais do DeathByCaptcha;

    1. Ex.:

      credentials-code

  7. Coletar a URL do site em que será quebrado o Hcaptcha;

  8. Coletar o "data-sitekey" do site à ser quebrado;

    1. Ex.:

      data-sitekey

  9. Caso o cliente utilize proxy, será necessário coletar a URL, usuário e senha;

    1. Caso o cliente não possua proxy, basta remover as linhas que pertencem à essas informações.
    2. AVISO: Hoje o Hcaptcha somente aceita protocolo HTTP;
  10. Após a coleta de todos os dados, basta preencher no código:

    1. Ex.:

      captcha-dict

  11. Com o script alterado, o mesmo já está pronto para gerar um Token;

  12. Após gerado o token, será necessário realizar "injects" de JavaScript com ele:

    1. Inserir o token dentro do name "g-recaptcha-response":

      document.querySelector('[name=g-recaptcha-response]').innerText = '"'+token+'"'
      
    2. Inserir o token dentro do name "h-recaptcha-response":

      document.querySelector('[name=h-captcha-response]').innerText = '"'+token+'"'
      
  13. Para concluir o processamento, o formulário deve ser "submetido" pelo botão ou ativando o "data-callback" de JavaScript presente no DOM da página;

    1. Ex.:

      data-callback

    2. Código para submeter pelo "data-callback":

      onSubmit('"'+token+'"')
      
  14. E pronto, seu Hcaptcha está quebrado!

  15. EXTRA:

    1. O Hcaptcha foi criado pela Cloudflare, cuja ferramenta serve para evitar DDOS, isto é, ele irá analisar seu IP e o navegador que está sendo utilizado. Com isso, pode ser necessário que a automação simule um comportamento humano para que a quebra seja realizada com êxito;
    2. No caso de uso do Selenium, o chromedriver possui um parâmetro a ser passado que "desativa" o modo automatizado dele:
      1. Ex. em Python:

        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument("--disable-blink-features=AutomationControlled")
        

#bypass #captcha #death by captcha #hcaptcha #recaptcha