Ergebnis 1 bis 2 von 2
  1. #1
    Neuling
    Registriert seit
    20.10.2021
    Beiträge
    1

    Standard python hcaptcher bypassing

    Hallo,

    ich bin gerade dabei mir ein wenig Python anzueignen und versuche nun einen "Upvote bot" zuerstellen, dafür muss ich hcaptcha umgehen, dafür nutze ich 2captcha, das Problem nun ist ich muss den Code den ich via 2captcha erhalte über eine form posten, leider funktioniert das bei mir nicht evtl. kann mir hier jemand helfen.
    Es handelt sich um coinhunters.cc

    Code:
    from os.path import dirname
    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver import ActionChains
    from twocaptcha import TwoCaptcha
    import random
    import time
    import requests
    import re
    import string
    import secrets
    import sys
    import os
    
    
    driver = webdriver.Chrome() # USES CHROMEDRIVERMANAGER TO AUTO UPDATE CHROMEDRIVER
    from twocaptcha import TwoCaptcha
    
    x = 1
    
    while x == 1:
        solver = TwoCaptcha('6443ea2ca08122df83388f1c16004ebf')
    
        apiKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
        siteKey = '78f9a81f-f8bf-493e-9bd5-a496020674d5'
        pageUrl = 'https://coinhunters.cc/tokens/FlokiKiller'
        driver.get("https://coinhunters.cc/tokens/FlokiKiller")
        time.sleep(5)
        driver.find_element_by_xpath ("/html/body/main/div/section[2]/div/div/div[2]/div/span[1]/i").click()  #hier wird der popup geschlossen
        time.sleep(2)
        driver.find_element_by_xpath ("/html/body/main/div/section[3]/div/div/div[3]/div[2]/div/div[4]/form/div/div[5]/input").click() #click auf vote
        time.sleep(2)
        requestUrl = 'https://2captcha.com/in.php?key='+apiKey+'&method=hcaptcha&sitekey='+siteKey+'&pageurl='+pageUrl #anf
        print('Requesting 2captcha API...')
        resp = requests.get(requestUrl)
        captchaId = resp.text[3:]
        returnUrl = 'https://2captcha.com/res.php?key='+apiKey+'&action=get&id='+captchaId
        print(returnUrl)
        resp = requests.get(returnUrl)
        time.sleep(20)
        if resp.text == 'CAPCHA_NOT_READY':
            while resp.text == 'CAPCHA_NOT_READY':
                print('Captcha is not ready, requesting again in 5 seconds...')
                time.sleep(5)
                resp = requests.get(returnUrl)
        ansToken = resp.text[3:]
        resp = requests.get(requestUrl)
        print('Answer token recieved:')
        captchaInput = driver.find_element_by_name('g-recaptcha-response')
        driver.execute_script("arguments[0].setAttribute('style','visibility:visible;');", captchaInput)
        captchaInput.send_keys(ansToken)
        time.sleep(30)
        driver.refresh()

    evtl. kann mir hier ja jemand weiterhelfen.

  2. #2
    NoClose Wurm
    Registriert seit
    03.07.2015
    Beiträge
    197

    Standard AW: python hcaptcher bypassing

    Also kenne 2Captcha nicht, aber du scheinst TwoCaptcha einzubinden aber nicht zu benutzen. Btw, ist das dein API Key? Zensier den lieber.

    Die API für hCaptcha scheint folgendermaßen zu funktionieren:

    Code:
    result = solver.hcaptcha(sitekey='10000000-ffff-ffff-ffff-000000000001',
                                url='https://www.site.com/page/', 
                                param1=..., ...)
    Den sitekey kann man bei ReCaptcha so kriegen:

    Code:
    # <input type="hidden" id="recaptcha-token" value="bhasdhjasdjh">
    
    sitekey = driver.find_element_by_id("recaptcha-token").get_attribute("value")
    Wird wohl bei hCaptcha ähnlich bzw genauso funktionieren.

    Wie du es machst funktioniert wohl auch, aber ich denke so ist es schon besser.

    Zu deiner Frage:

    Die API gibt anscheinend die Bilder zurück die du klicken musst, bspw:
    Code:
    OK|click:3/8/9
    Also klickst du das Captcha an und holst dir alle Bilder:
    Code:
    elements = driver.find_elements_by_class_name("task-image") #oder so ähnlich
    elements[2].click()
    elements[7].click()
    #usw..
    Und dann kann man das submitten mit:
    Code:
    driver.find_elements_by_class_name("button-submit")[0].click()

    Ich hab das alles nicht ausprobiert und auch noch nie was mit 2Captcha, aber ich denke so funktioniert das.

    https://pypi.org/project/2captcha-python/#hcaptcha
    https://2captcha.com/2captcha-api

  3. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Barny (24.10.2021)

Ähnliche Themen

  1. Antworten: 32
    Letzter Beitrag: 09.06.2010, 22:44
  2. [B] Bypassing the heuristic scan
    Von -=Player=- im Forum Delphi
    Antworten: 3
    Letzter Beitrag: 29.06.2008, 19:43
  3. Windows Vista Exploitation - Bypassing ASLR
    Von -=Player=- im Forum Biete Tutorials
    Antworten: 0
    Letzter Beitrag: 28.08.2007, 05:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •