当前位置:网站首页>软件测试知识储备:关于「登录安全」的基础知识,你了解多少?
软件测试知识储备:关于「登录安全」的基础知识,你了解多少?
2022-07-07 00:56:00 【软件测试小仙女】
作为测试,给我们一个关键词“登录”,我们可能想到的用例设计更多的是什么用户名、密码校验是否合法、是否为空、是否正确等等之类的场景。
但在如今信息化的时代,“登录安全”已经是一个很热门且普遍的的话题了,今天给大家简单分享一下个人了解到的关于「登录安全」基础知识。
概念普及
在了解登录安全之前,给大家普及两个基础概念:“撞库”和“防撞库”。
百度到的原文介绍是:“撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。并且很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。”
换个角度大家可以这样理解,很多用户的账号和密码汇总在一起,形成了一个“库”,很多不法分子为了盗取到用户的账号信息,会绞尽脑汁通过各式各样的手段去不断尝试获取用户的真实账号信息。这个“不断的尝试获取”的动作过程,我们可以称之为“撞”。
有不法分子的“撞”,当然就有了正式使者的“防”,为了提高用户的账号信息安全,程序员(正义使者)在设计登录时会通过一系列的手段来一层一层的保护用户的账号信息安全。
常见的登录安全问题
这边给大家普及下常见的可判定为账号可能存在被盗取的场景:
1、同一个密码&不同账号,出现错误多次;
2、同一个账号&不同密码,出现错误多次;
3、频繁获取短信验证码。
以上的场景存在两个共性,分别是“短时间范围内” and“同一个设备”,因为黑客或者其他不法分子,在不断尝试获取用户账号密码信息时基本是在同一个设备且短时间内高频尝试不同的账号密码组合。
解决方案
基于上面的常见登录安全问题的共性(“短时间范围内” and“同一个设备”),有其对应的明确的解决方案:
1、通过IP限制同一个用户的短信的请求上限;
2、通过IP限制同一个用户密码错误次数上限;
3、通过账号限制同一个用户密码错误的上限。
测试用例设计
作为一个专业的测试人员,在进行用例设计之前,除了关注UI设计稿、需求文档外,还可以关注开发提供的技术文档,在条件允许下能够进一步的了解到开发对应的基础实现原理,在一定程度上能够帮助我们提高自己设计的测试用例的覆盖度,以便于我们能够更全面、更深入的进行测试,从而提高我们产品的质量。
从开发的技术文档上我们不需要了解很深的技术原理,只需要了解以下几个问题:
1、通过什么控制登录风险?
2、用户的登录行为被判定为风险后,会有对应的什么措施?
3、用户的登录行为被判定为风险后,什么能恢复使用?
4、有没有可申诉的途径?
最后根据上面这个思路补充对应的功能测试用例即可,这边简单罗列部分测试用例:
另外,在补充业务测试用例的同时,同步可以关注对应的接口请求规范,为了尽可能获取到用户的真实IP,接口在设计时可能会引用HTTP请求头规范,要求下游在请求时透传X_FORWARDED_FOR,以此来区分真实的用户IP。
这个可以作为一个接口测试关注点,减少由于IP上报错误而引起风险误判,导致正常用户无法正常使用产品功能的情况。
从HTTP请求中获得用户的真实IP地址有两个方法,一个是从Remote Address中获得,另一个是从X-Forward-For中获得,但他们的安全性和使用场景各有不同,想要了解更多知识大家可以根据关键字去自行扩展~
每天学习一点点,迟早能从菜鸟变大佬~
最后:
可以到我的个人号:atstudy-js,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。
这些测试资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
边栏推荐
- Bbox regression loss function in target detection -l2, smooth L1, IOU, giou, Diou, ciou, focal eiou, alpha IOU, Siou
- 一个简单的代数问题的求解
- 搞懂fastjson 对泛型的反序列化原理
- SQL Server 2008 各种DateTime的取值范围
- PTA ladder game exercise set l2-004 search tree judgment
- 谈fpga和asic的区别
- Win configuration PM2 boot auto start node project
- EMMC print cqhci: timeout for tag 10 prompt analysis and solution
- Sidecar mode
- Type de texte de commutation d'entrée et de mot de passe de l'applet natif
猜你喜欢
Jstat pour la commande JVM: voir les statistiques JVM
如果不知道这4种缓存模式,敢说懂缓存吗?
If you don't know these four caching modes, dare you say you understand caching?
绕过open_basedir
Dynamic memory management
搞懂fastjson 对泛型的反序列化原理
PTA ladder game exercise set l2-004 search tree judgment
Interview skills of software testing
Go language learning notes - Gorm use - Gorm processing errors | web framework gin (10)
Introduction to the extension implementation of SAP Spartacus checkout process
随机推荐
Classic questions about data storage
Harmonyos practice - Introduction to development, analysis of atomized services
Reptile exercises (III)
Get the way to optimize the one-stop worktable of customer service
CTFshow--常用姿势
Flinksql read / write PgSQL
Determine whether the file is a DICOM file
Interview questions and salary and welfare of Shanghai byte
If you don't know these four caching modes, dare you say you understand caching?
Randomly generate session_ id
职场经历反馈给初入职场的程序员
VScode进行代码补全
Things about data storage 2
[cloud native] what is the microservice architecture?
cf:C. Column Swapping【排序 + 模拟】
Bat instruction processing details
Flask 1.1.4 werkzeug1.0.1 analyse du code source: processus de démarrage
On the discrimination of "fake death" state of STC single chip microcomputer
JVM命令之 jstat:查看JVM统计信息
苹果cms V10模板/MXone Pro自适应影视电影网站模板