前言
今天使用某报考系统报名时,意外发现需要排队登录,但是已经排了上千人,等待了一会儿,人数下降不明显,作为一名程序员,怎么能忍受这种事
稍作一翻分析,绕过了排队登录的验证,整个过程大于5分钟
开始
该系统第一页面是输入一个验证码然后会跳转到排队页面
输入验证码
排队页面,果断F12开始审查元素
审查页面
找到了排队信息的html代码,发现人数的元素的ID为 queue_pos
接着去看JavaScript代码,并没有找到对次ID元素的处理
那就看引用的JS,发现有2个
利用开发者工具找到资源
分析JS
打开第一个JS资源文件,部分代码如下
搜索 queue_pos ,看时候有对次ID进行处理
找到了一处,接着去source里面找到它
断点调试
在请求里面打断点进行调试
从JS来看,前端是定时几秒去后台查询排队情况,根据断点一步步往下走,找到了一个判断,从命名来看canLogin(能登录)可能是它控制时候能去登录
既然这样,那就去控制台看看,先看看v对象里面有哪些值
没错,有canLogin属性,既然刚刚断点发现判断处canLogin为false,那就让它成为true
直接设置对象属性值
现在看v.canLogin属性的值已经是true
直接放行断点,让程序走下去
登录测试
惊喜的发现看到了登录界面,登录尝试下,万一有后台验证呢
填写账户信息,回车
成功进入后台
至此,已经绕过登录排队验证,直接前往登录,看来这套程序不是很严谨