恶意锁定问题,漏洞的说明:不断输入错误的密码,可以恶意锁定任何帐户。测试方法:对于测试账户,不断输入错误的密码,直到锁定为止。风险分析:如果系统认证功能没有自动化处理模块,攻击者可以制作脚本批量锁定系统账户。
修复方案:
1.账户锁定后,不能继续使用认证功能。
2.认证功能防止自动操作,如添加图形认证代码。
密码明确地传输,漏洞的说明:认证过程中没有加密(用户名密码等敏感数据的明确传输)。
测试方法:通过抓住网站登录页面的要求,工具可以通过burp、wireshark、filder等分析其数据包中相关的password(密码)参数的值是否明确。如图所示,wireshark抓住包分析的密码1.输入用户名密码。2.使用burpsuite拦截数据包。
风险分析:攻击者通过在局域网上嗅到网络流量,获得用户名密码、SESSIONID等敏感信息的明确传输证明书。修复方案:根据网站的密度要求,建议在密码传输过程中加密以加密方式传输。例如,使用HTTPS,加密方式可能会增加成本,影响用户体验。如果不使用HTTPS,则可以在站点前端用Javascript进行密码加密,加密后再进行传输。
其实上,我认为万能密码和sql注入应该区分开来,所以我分开写。众所周知,注册处是查询操作,有些程序可能没有注意到就写好了。这里的案例和上述不太一样,他的查询增加了判断动作,首先判断用户名是否存在,存在时进行下一个判断,判断用户名密码是否一致,因此必须在这里输入正确的用户名。
admin’or1#此时,可以结构特殊的sql语句切断,制作永真,通过查询完成登录。
修复方案:
1)严格过滤用户输入的特殊字符,如<、>、/、*、+、&、|、(、)、and、or、select、union。
2)使用参数查询,避免将未过滤的输入直接连接到SQL查询句中。
3)网络应用程序中连接数据库的用户和数据库的系统管理者用户的权限有严格的区别(drop等无法执行),网络应用程序中连接数据库的用户不允许操作其他数据库。
4)设置网络应用程序连接数据库的用户不允许网络目录写作权限。
5)使用网络应用防火墙。