我们日常的接口测试工作主要是验证接口的功能性(入参、出参、边界值等),在接口测试过程中遇到的一些接口安全性的问题,整理成了通用的测试点,不一定适用于全部的产品,仅做参考。
一、登录接口校验
验证登录接口中密码是否密文传输
这个测试点听起来很荒唐,应该大家都知道密码应该加密,但是在很多时候,研发人员为了赶工就会忽略这个点,所以建议大家测试登录功能的时候,一定要F12查看一下登录接口中密码是否是密文。
验证登录接口是否可以爆破登录
对于一些安全性较高的系统,测试的时候有必要验证一下是否可以爆破登录,可以使用Burpsuit进行爆破登录测试。当然现在很多系统都是用手机号码进行动态登录,如果还是常规的账户和密码登录,就一定要对安全性提出质疑了,密码强度符合等保要求么?验证码要不要加上去?
二、接口规则校验
验证接口类型是否合理
理论上来说,除了查询接口使用GET,其余的接口都应该使用POST,这样接口的安全性更高。沐沐以往的接口测试过程中确实遇到了不少业务接口使用get,参数拼接在url上及其不安全。此外,还有一个特殊情况,即不需要用户登录的系统,查询类的接口也不建议使用GET,在安全扫描中会出现跨站点请求伪造的问题。
验证新增和修改接口是否是独立的接口
这个测试点有点离谱了,沐沐在测试过程中发现新增和修改接口共用同一个,这样似乎是没有什么问题,但是后期遇到了一些复杂的业务逻辑,新增和修改接口融合在一起,导致了生产数据被篡改。所以接口设计还是要严谨一点,新增和修改接口尽量是独立的接口。
验证POST接口中是否将参数拼接成URL
沐沐曾经还遇到过将post接口的参数拼接到了url上,如果数据量较大的时候,url字符长度太大接口就会报错,可能此类情况并不常见,但是遇到过就记录下来了。
三、接口越权校验
接口的越权分为水平越权和垂直越权,我们可以通过Burpsuit、Appcan等工具进行越权测试,测试过程中也遇到了以下问题:
验证接口url上是否区域编码、身份证号等参数;
验证接口url上存在true或false时,进行篡改,功能、数据是否越权;
验证接口url上存在type=1或2时,进行篡改,功能、数据是否越权;
接口参数中存在pagesize或者size时,进行篡改,是否进行最大值限制;
接口body参数中存在身份证号码时,篡改参数值,接口是否返回正确提示。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【保100%免费】
软件测试面试小程序
被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!
涵盖以下这些面试题板块:
1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux
6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础
文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片领取。