轻轻绕过你的验证码
验证码就是每次访问页面时随机生成的图片,内容一般是数字和字母(更BT点的有中文,呵呵),需要访问者把图中的数字字母填到表单中提交,这样就有效地防止了暴力破解。验证码也用于防止恶意灌水、广告帖等。溯雪是早年大名鼎鼎的黑客神器“刀光雪影”之一,其功能就是暴力破解表单,那时很是很流行的。但是后来有了验证码这个东东,几乎把溯雪推向了死路。但是真的完全是死路了吗?本文给你答案。
对于验证码机制,网上的攻击手法都是利用数学方法分析图片,当然我们不能老是跟着别人的思路走噻,那样多没创意哦。
想想验证码的思路,就是每次登陆的地方访问一个脚本文件,该文件生成含验证码的图片并将值写入到session里,提交的时候验证登陆的脚本就会判断提交的验证码是否与session里的一致。
问题出现了,在登陆密码错误之后,我们不去访问生成验证图片的文件,那么如果session中的验证码没有被清空,此时验证码就是跟上次的一样,辛辛苦苦构建的防暴力破解就形同虚设了。
PowerEasy2005的管理员登陆页面就是个很好的实例,只要我们把首次访问的验证码辨认出来,以该会话cookie值不断提交就可以实现暴力破解了。图中就是用溯雪破解的结果(溯雪重出江湖咯^_^)。
类似的情况还有PJBlog2的登陆验证,其他的程序没看,体力活了,不好玩。
利用验证码的漏洞还可以实现DOS(还有刷投票之类的,呵呵),比如这个CSDN博客系统,回复的验证码就存在这个问题,所以你可以抓包不断提交(喂,先说好,不准拿我试验)。
这次动网bbs做得很好,密码错误之后session中的验证码值被置空且每次检查验证码的时候先检查是否为空。所以如果要修复这种漏洞就参考动网的办法吧。
页:
[1]