渗透测试之登陆页面的那些洞

写在前面

此系列文章主要按照本人平时渗透测试工作中的测试流程为例,列举了一些常见的web应用漏洞。

上次写到了有关信息泄露的漏洞。这篇文对登录页面可能存在的漏洞进行大致的总结。

转自微信公众号:弥天安全实验室


一、口令问题
1.1弱口令

关于弱口令大家可以自行谷歌搜索常见的弱口令进行尝试,不过这样成功的概率不是很大。有时我们可以借助注册页面的账号密码组成规则来辅助我们进行尝试。

首先我们通过注册账号页面可以发现用户名的组成规则

根据规则(此处直接使用范例)进行尝试

使用范例及常用弱口令直接登录成功

1.2万能密码

虽然随着开发人员的安全意识提高,虽然万能密码很难利用成功,但不排除漏网之鱼,可自行谷歌万能密码大全,进行尝试。

二、验证码问题

2.1缺少验证码(可爆破)

点击登录按钮,并通过代理截断工具,截断Http请求数据,设置密码循环变量,

如下图所示:

通过设置变量更换密码循环重放请求,发现无登陆尝试次数限制,可遍历登录密码,

如下图所示:

通过返回信息及长度,可了解登录是否成功

2.2验证码功能失效

直接抓包删除验证码进行测试,尝试是否可以登录成功

登录成功(此处无图)

2.3验证码不过期

在10分钟内获取多个验证码时,都可使用,获取新的验证码,并没有使旧密码失效,此即为验证码不过期漏洞

2.4短信轰炸

在填写手机号后,直接讲抓到的包放在repeat里不断重复发包

最终手机收到了多条短信验证码

三、提示信息缺陷(用户名枚举)

‍有时当输入错误的用户名或者密码登录时,登录页面会提示账号错误或者密码错误的信息,此时便可根据提示得知账户是否存在(即提示信息为密码错误的时候)。也可根据抓包返回包中的字段信息的改变判断账户是否存在

四、用户名、密码明文(弱加密)传输

在填写完用户名、密码后直接抓包,如用户名或者密码采用明文、弱加密的形式进行传输,则说明存在改漏洞

五、账户锁定绕过

通过抓包发现,发送包中存在一个计数器,当其递增到3时会锁定账户,所以尝试将其更改为负数或者直接改为大于3即可绕过锁定策略。

在每次尝试不同用户名时,修改登录次数的参数,即可进行账户口令爆破

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注