WEB渗透之任意用户密码重置

风险等级:高
漏洞风险:会使得攻击者可重置任意账户进行恶意操作
N-Base分类:远程攻击----验证码暴力破解
漏洞描述
由于应用系统修改密码是通过手机验证码来验证的,但未使用图形验证码或验证码可重放造成对手机验证码的暴力破解,而且手机验证码往往又比较短,进而造成任意用户密码重置。
测试工具:BURP、PYTHON脚本
实战案例
本次的案例实际上已经有图形验证码来防止暴力破解了,然而图形验证码和手机验证码都没有在服务器端验证是否过期,造成一个验证码可以无限重放。而手机验证码采用的又是4位纯数字验证码,也就是最高1万次就可以100%爆破出验证码了。这里再结合一点社工,收集一些关键人的手机号码,那么大概率就得到了管理员的账号密码了。
WEB渗透之任意用户密码重置_第1张图片
本次就成功重置了一个管理员的密码。
WEB渗透之任意用户密码重置_第2张图片
关于密码重置,还遇到一些设计的更差,当用户输入的用户名正确时,程序就会自动返回用户的手机号,并自动往该手机号发送验证码。这更是大大方便了恶意攻击者。理想情况应该是输入的用户名和手机号码同时正确方可进行后面的操作。
解决建议
1、图形验证码防暴力破解。
2、对手机验证码进行失效验证,当输入失败一定次数就失效。

你可能感兴趣的:(WEB安全)