##引入
晚上在宿舍想看看论文,于是登录图书馆主页,转到知网,结果被告知ip未授权,看来只有内网可以访问那个帐号。
尝试用x-forwarded-for构造ip,失败。
正好发现图书馆登录时的验证码很有趣,找到源码分析一下。
##代码分析
一段js代码,一段表单代码
1 | $(function(){ |
正常流程如下:
- 用户输入纯数字id
- 用户输入密码
- 用户点击用来输入验证码的输入框,此时执行js语句
$("#img").attr("src","captcha.php?code=" + $("#number").val());
页面 captcha.php?code=xxxxxx 的作用是返回一个含有数字xxxxxx的图片,其中随机将若干数字设为红色
这样,我们就得到了一个基于用户输入的id的验证码 - 用户输入验证码图片中的红色部分,登录
但是,我偏不这么来。
首先明确:当我 focus 验证码输入框的时候,产生的验证码就是用户的id(其中若干数字变红)
我先在用户 id 输入框中输一个 1
然后 focus 验证码输入框,显然验证码是 1 ,并且为红色(经测试,一个数字时永远为红色)
然后重新输入 id 和密码,登录,OK
##总结
从直觉上看,这样的逻辑是有一定问题的,不过好像没有什么利用价值。
对,我只是练练笔。