面试这个经常会被问到,给你一个登录页面,你觉得可能存在哪些漏洞?
1.注入点(万能密码登录)
尝试以下万能密码登录,也就是sql注入中的不知道用户名跟密码的情况下登录。
2.不安全的用户提示:一般提示用户名错误,或密码错误
比如csdn,看提示它提示的是用户名或密码错误,没告诉你是哪个错误,在你进行暴力破解的时候,很难破解,如果明确提示你,用户名错误,那就好搞一些,可以直接去破解密码
3.查看登录页面源码,是否存在敏感信息泄露
看看是否有敏感信息,注释信息提示,还可以看看前端验证能否绕过。
4.不安全的验证码
目标网站可能对验证码的时效没有进行限制,导致长时间有效,那么我们就可以一直拿着利用
5.在账号注册时是否有不安全提示
例如,注册时提示用户已经存在,手机号已经注册过,等等
6.不安全的密码
采用弱口令,密码设置过于简单,没有限制密码的复杂度
7.暴力破解未限制ip,锁定ip
不限制次数,攻击者可以无限次暴力破解,设置登录次数,是放止暴力破解的有效手段
8.sql注入,存储型xss
跟第一个一样,第一个能实现这个就能实现。
9.任意账号无线注册
一个用户无线注册几万个用户,数据库肯定撑不住啊
10.登录之后的超市功能
不设置超时,你人走了,小心别人拿你账号做坏事
11.越权漏洞,逻辑漏洞
不说了,自己想着发挥,面试10条够了