登录学信网, 发现手机号还是大学时候用的手机号, 号码都忘记了, 改绑现在的手机还需要必填以前的手机号.
之前的手机号中间四位是****
, 所以一共有10000种可能.
1. 解决方案
1.1 暴力破解
每日验证码次数有限, 不建议.
1.2 获取手机号信息(最有效)
1,用你学信网的账号登录 阳光高考 https://gaokao.chsi.com.cn/
2,点击右边 特殊类型招生入口
3,点击右边 报名登录 进去随便选择一个,如:高水平运动员 艺术类
4,进入报名,同意条款,确认身份证,到个人信息的时候就能看见电话号码了。
1.3 技术方案
学信网通过加密方式显示手机号,隐藏了原来手机号的中间4位,修改手机号的时候需要提供原来手机号,并且需要新手机号接收一个验证码,幸运的是这个验证码是24小时内有效,所以可以使用暴力破解的方式,每2秒钟尝试一个电话号码,最多会尝试10000次,也就是说最长时间需要耗时20000秒(大约5个半小时),不过一般不会那么点背,尝试到9999的时候才修改成功。当然这个不可能人工去完成破解,需要写代码。
虽然我在中途测试中放弃了, 但是致敬这位大佬. 参考: http://www.jsunw.com/?post=36
- 通过firefox或者chrome打开手机号编辑页面,首先随便输入一个原手机号,修改一次,主要是为了拿到验证码
- 打开控制台,定位至“确定”按钮
- 右键这个
<input>
标签,编辑html代码,在这个<input>
标签后面添加下面代码:
1 | <input type="button" value="start" onclick="(function (btn, form, input, start, iframeName, speed) {if (!form.attr('target')) {$('<iframe></iframe>').attr('name', iframeName).insertBefore(form.attr('target', iframeName));}if (window.jsunw == null) {input.val(start);}if (window.jsunw) {clearInterval(window.jsunw);window.jsunw = 0;btn.val('go on').attr('title', 'start');} else {window.jsunw = setInterval(function () {if (parseInt(input.val().replace(/(\d{3})\d{4}(\d{4})/g, '$10000$2')) != start) {input.val(start);}var v = parseInt(input.val());v = v > (start + 99990000) ? start : v + 10000;input.val(v);}, speed);btn.val('working...').attr('title', 'pause');}})($(this), $(this).closest('form'), $(this).closest('tbody').find('[name=oldMobilePhone]'), parseInt($(this).closest('#setPhone').find('>strong').text().replace(/\*/g, '0')), 'setPhoneTarget', 2000);"> |
如下图:
在页面中单击新添加的这个按钮后,查看“原手机号”对应的输入框,里面的手机号应该每隔两秒自动改变一次,这就说明破解脚本正在执行。
保持这个页面不要动,等待一段时间,另外打开一个页面查看手机号是否已经修改,如果修改成功,那就恭喜你了,这时候就可以关闭这个脚本页面了。