30 Nov 2020
一、背景介绍 在网上,大家经常可以看到诸如数据库被拖库、用户信息泄露等因为安全漏洞引发的问题,给用户和公司都造成了较大的损失。随着公司业务快速发展、功能增多、用户数目不断增加,安全问题越来越成为一个必须重视的问题。 在实践安全测试的过程中,业务部门和安全部门合作去进行安全测试,早期测试人员和安全同学通过手工执行安全测试用例来发现问题,后续慢慢的也开始使用一些安全工具,通过自动化的方式来提高发现问题的效率。在这过程中,我们关注到了一个跟业务密切相关的安全问题——接口越权问题,并设法通过自动化扫描的方式发现该类问题,提高效率。 越权问题是指应用对访问请求的权限检查存在纰漏,使得攻击者在使用没有获得权限的用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限者的对象。比如商家…
Read More
23 Sep 2020
一、背景 上半年公司的网关系统进行了重构,需要把零售业务已有的网关接口迁移到新网关上。这些接口每天都有成千上万次请求,为商家提供各种服务,稍有不慎就容易出现较大故障,所以如何迁移是个比较慎重的问题。 这个迁移项目主要的验证重点是:确保新网关对于接口的请求和返回的处理和老网关一致;而主要的验证难点在于,仅从功能层面进行手工验证很难覆盖各种场景,尤其是如何构造各种请求参数以及检查各种返回的内容。若要人肉进行细致的接口级别的验证,那么花费的时间就会很长、效率很低。 经过统计和梳理,涉及的接口超过了 1000 个,在这个数量级上,总花费的时间成本很高,研发团队难以承受。这不得不让我们停下来思考一下,是否有另一种高效的方式来解决这个问题。…
Read More
20 Apr 2018
引言 当一个新人刚加入公司的时候,我们通常告诉新人怎么去写一个自动化用例:从工程配置到如何添加接口、如何使用断言,最后到如何将一个用例运行起来。 而在实际工作和业务场景中,我们常常面临着需要编写和组织一堆用例的情况:我们需要编写一个业务下的一系列的自动化接口用例,再把用例放到持续集成中不断运行。面临的问题比单纯让一个用例运行起来复杂的多。 本人加入有赞不到一年,从写下第 1 个 case 开始,持续编写和运行了 1000 多个 case ,在这过程中有了一些思考。在本文中,和大家探论下如何编写大量自动化接口用例以及保持结果稳定。 一、…
Read More