轻轻绕过你的验证码

news/2024/5/18 14:38:11 标签: session, 破解, 脚本, bbs, dos, bt

Author:lake2 ( http://lake2.0x54.org )

 

验证码就是每次访问页面时随机生成的图片,内容一般是数字和字母(更BT点的有中文,呵呵),需要访问者把图中的数字字母填到表单中提交,这样就有效地防止了暴力破解。验证码也用于防止恶意灌水、广告帖等。

溯雪是早年大名鼎鼎的黑客神器“刀光雪影”之一,其功能就是暴力破解表单,那时很是很流行的。但是后来有了验证码这个东东,几乎把溯雪推向了死路。但是真的完全是死路了吗?本文给你答案。

对于验证码机制,网上的攻击手法都是利用数学方法分析图片,当然我们不能老是跟着别人的思路走噻,那样多没创意哦。

想想验证码的思路,就是每次登陆的地方访问一个脚本文件,该文件生成含验证码的图片并将值写入到session里,提交的时候验证登陆的脚本就会判断提交的验证码是否与session里的一致。

问题出现了,在登陆密码错误之后,我们不去访问生成验证图片的文件,那么如果session中的验证码没有被清空,此时验证码就是跟上次的一样,辛辛苦苦构建的防暴力破解就形同虚设了。

PowerEasy2005的管理员登陆页面就是个很好的实例,只要我们把首次访问的验证码辨认出来,以该会话cookie值不断提交就可以实现暴力破解了。图中就是用溯雪破解的结果(溯雪重出江湖咯^_^)。

 

 

类似的情况还有PJBlog2的登陆验证,其他的程序没看,体力活了,不好玩。

利用验证码的漏洞还可以实现DOS(还有刷投票之类的,呵呵),比如这个CSDN博客系统,回复的验证码就存在这个问题,所以你可以抓包不断提交(喂,先说好,不准拿我试验)。

这次动网bbs做得很好,密码错误之后session中的验证码值被置空且每次检查验证码的时候先检查是否为空。所以如果要修复这种漏洞就参考动网的办法吧。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lake2/archive/2006/09/15/1224897.aspx


http://www.niftyadmin.cn/n/1705851.html

相关文章

ASP.NET验证码(C#)

* Copyright all(c) 2005 ZhongFeng, http://blog.csdn.net/SW515 */ public class ValidateCode : System.Web.UI.Page { private void Page_Load(object sender, System.EventArgs e) { this.CreateCheckCodeImage(GenerateCheckCode()); } #region Web 窗体设计器生成的…

彻底堕落了一回——大三篇

转载于:https://www.cnblogs.com/sesexxoo/archive/2005/06/21/6190751.html

VB中使用Grid++报表

前段时间做机房收费系统的时候,在周结账单的报表中添加窗体中选定的时间段要在报表中显示,在这一点上一直没有弄清楚。今天无意中从一些代码中弄明白了。主要是在窗体中动态的添加一个静态文本框来显示我们需要的文字。代码和主要的窗体界面如下&#xf…

[导入]Windows系统进程介绍

(1)[system Idle Process] 进程文件: [system process] or [system process] 进程名称: Windows内存处理系统进程 描 述: Windows页面内存管理进程,拥有0级优先。 介 绍:该进程作为单线程运行在每个处理器上&…

Gentle.NET笔记(五)-同步控制

Gentle support row-level concurrency control, that is, it provides a means of ensuring data integrity when multiple processes may be accessing the same data (typical for web applications).Note:Gentle支持低级的同步控制,提供了在多线程环境中能够确保…

【软件需求规格说明书】苏科大校园app软件需求规格说明书

掌上苏科软件需求规格说明书作者:戚春阳时间:2018-3-20目录一、 引言 11.1 编写目的 11.2 项目背景 11.3 定义 11.4 参考资料 2二、 项目概述 22.1 产品描述 22.2 产品功能 22.3 用户特点 4三、 具体需求 43.1 具体需求 43.1.1 系统注册及登陆 43.1.2 四…

对于敏捷开发的理解!~~~~~~~~(黄为)

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之是把一个大项目分为多个相互联系,但也可独立运行的小项目&…

[导入]国内一些不错的PDF相关问题讨论的论坛

文章来源:http://blog.donews.com/rocsky/archive/2005/07/05/454992.aspx