当前位置: 首页 > 科技观察

软件测试知识储备:“登录安全”基础知识你了解多少?_0

时间:2023-03-22 16:49:52 科技观察

作为测试,给我们一个关键字“登录”,我们可能想到的用例设计更多的是用户名是什么,密码验证是否合法,是否为空,是否正确,等等。但在当今的信息时代,“登录安全”已经是一个非常热门和普遍的话题。今天,我就把自己学习到的“登录安全”的基础知识简单分享给大家。概念普及在了解登录安全之前,先普及一下两个基本概念:“撞库”和“防撞库”。百度原文介绍是:“崩溃库是黑客收集网上已经泄露的用户和密码信息,生成对应的字典表,并尝试批量登录其他网站,获取一系列可以登录的用户而很多用户在不同的网站,使用的是同一个账号和密码,所以黑客可以通过获取用户在A网站的账号来尝试登录B网站,可以理解为撞库攻击。换个角度,你可以理解为很多用户的账号和密码都汇总在了一起,形成了一个“库”,为了窃取用户的账号信息,很多不法分子会绞尽脑汁,利用各种手段不断尝试获取用户的真实账户信息,这个“不断尝试获取”的动作过程,我们可以称之为“碰撞”,如果有不法分子的“碰撞”,当然会有官方信使的“防御”。为了提高用户账户信息的安全性,程序员(正义的使者)在设计登录时会采用一系列的手段层层保护,用户的账户信息是安全的。常见的登录安全问题下面是一些常见的可判断账号可能被盗的场景:多次错误同密码不同账号;多次错误相同账号不同密码;频繁获取短信验证代码。以上场景有两个共同点,一个是“短时间范围”,一个是“同一台设备”,因为黑客或其他不法分子在黑客或其他不法分子试图获取用户时,基本都在同一台设备上,短时间内账号密码信息。经常尝试不同的帐户和密码组合。解决方案基于以上常见登录安全问题的共性(“短时间内”和“同一设备”),并有其对应的明确解决方案:通过IP限制同一用户短信的请求限额;limitbyIP同一用户密码错误次数上限;同一用户密码错误次数上限受账号限制。测试用例设计作为一名专业的测试人员,在使用用例设计之前,除了关注UI设计稿和需求文档外,还可以关注开发提供的技术文档,在有条件的时候可以进一步了解开发的基本实现原理permit,在一定程度上可以帮助我们提高我们设计的测试用例的覆盖率,从而可以进行更全面、更深入的测试,从而提高我们产品的质量。从开发的技术文档中,我们不需要了解深层次的技术原理,只需要了解以下几个问题:如何控制登录风险?判断用户的登录行为存在风险后会采取什么措施?用户的登录行为被判断为有风险后,可以恢复什么?有什么申诉途径吗?最后按照上面的思路添加相应的功能测试用例。这里简单列出一些测试用例:另外,在补充业务测试用例的同时,同步可以注意相应的接口请求规范,以尽可能获取用户的真实IP,接口在设计时可能会参考HTTP请求头规范,要求下游在请求时透传X_FORWARDED_FOR,以区分真实用户IP。可作为接口测试的重点,减少因IP报错导致的风险误判,导致正常用户无法正常使用产品功能。从HTTP请求中获取用户真实IP地址有两种方式,一种是从RemoteAddress中获取,一种是从X-Forward-For中获取,但是他们的安全和使用场景不同,想了解更多知识,可以根据关键词自行扩展。

猜你喜欢