网站安全检测之用户密码找回网站漏洞的安全分析与利用
我们SINE安全在对网站,以及APP端进行网站安全检测的时候发现很多公司网站以及业务平台,APP存在着一些逻辑上的网站漏洞,有些简简单单的短信验证码可能就会给整个网站带来很大的经济损失,很简单的网站功能,比如用户密码找回上,也会存在绕过安全问题回答,或者绕过手机号码,直接修改用户的账户密码。
在短信炸弹,以及用户密码找回的网站漏洞上,我们来跟大家分享一下如何利用以及如何防范该漏洞的攻击。
我们来看下之前对客户网站进行的网站安全检测的时候我们发现到的短信炸弹漏洞,由于客户反映注册网站会员的时候会收到好几条重复的验证码短信,甚至多次点击提交也会导致收到好多条验证码信息,随即我们SINE安全对其进行详细的安全检测,果然发现了问题,对注册会员的时候确实存在多次发送短信的情况,我们对提交的数据,GET,POST方式进行多次的安全测试,发现post数据的时候,在smg值后面随意添加任何参数,即可导致网站发送验证码短信到用户手机上,可以发送无数条短信,如果被攻击者利用,那带来的损失无法估量。
对于这次检测出来的短信炸弹漏洞,首先分析代码,从之前程序员写的代码里看出,在用户登录这个过程代码里没有进行详细的安全过滤,导致输入用户名密码就可以发送验证码,再一个就是程序员设计的过程中将测试的手机号码都存放于数据库里,导致很多正常的用户收到测试时候的短信验证码。再一个漏洞产生的原因,就是程序代码里设计的初始化密码为123456,导致在找回密码重置密码的时候就会进行写入数据库,攻击者利用撞库就可以很容易的猜测到用户的密码。
那么该如何防范短信炸弹漏洞呢?
从网站安全的角度来分析,以及网站安全部署层面上看,在短信平台上可以做到防止短信无数发送,现在阿里云的短信平台,可以做到防止多次发送短信到用户手机,一个手机号一天只能接收5次短信的安全限制,再一个就是从程序代码里进行安全加固,对注册的会员,进行判断,如果是一个IP,只能发送一条短信。用户点击获取验证码前输入图文验证码,才能发送,间隔时间60秒才能发送一条短信。在整体的网站安全检测中我们要提前告知客户,我们在进行操作什么,网站漏洞扫描,网站漏洞利用,数据库写入删除等比较重要的操作,都要事先跟客户告知,提前对网站的数据进行整体的安全备份,包括数据库的备份,网站源代码的备份。在渗透测试当中我们要先进行安全评估,整体的安全检测会不会给用户带来影响以及损失,尽可能的不要产生影响客户网站访问,以及业务正常运转。下一篇文章跟大家分享用户密码找回漏洞的利用与分析。