首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。
登陆功能的公开性,让无数的攻击者都试图猜测用户名和密码,从而获得未授权访问系统的权利。
作为系统的使用者,必须让自己的系统更加健壮,以应对狡猾的攻击者。
作为攻击者,需要去观察系统的各种细节情况,获得贴近实际的信息。
我们首先需要有一个弱密码的系统,这样才可以去尝试蛮力攻击。
1. 用自己的某个合法账号进行尝试;比如提交几次错误的登陆,看收到什么样的返回信息;
2. 如果在3-5次错误登陆之后,还可以正确登陆。说不定系统没有账号锁定的策略,这种系统是进行常规蛮力攻击登陆的良好标的;
3. 如果账号被锁定,可以对不同账户进行轮询登陆;
4. 如果账号被锁定,利用合法账号进行有效密码提交,观察与无效账号的返回信息是否有差异;
如果没有合法的账号,那么先获取一个有效的用户名;
获取用户名非常容易,最经典的一个方法:
可以直接站人家后面看输入的用户名。 :)
如果存在账户锁定的可能性,那么对多个账户进行广度优先,而不是进行深度优先。
原文地址:http://blog.csdn.net/ffm83/article/details/44120439