• 1
  • 0
分享
  • 【接口测试】曾经遇到过的一些接口问题
  • 瑾沐沐 2022-06-23 17:15:11 字数 1020 阅读 3415 收藏 0

我们日常的接口测试工作主要是验证接口的功能性(入参、出参、边界值等),沐沐在接口测试过程中遇到的一些接口安全性的问题,整理成了通用的测试点,不一定适用于全部的产品,仅做参考。

一、登录接口校验

  • 验证登录接口中密码是否密文传输

    这个测试点听起来很荒唐,应该大家都知道密码应该加密,但是在很多时候,研发人员为了赶工就会忽略这个点,所以建议大家测试登录功能的时候,一定要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参数中存在身份证号码时,篡改参数值,接口是否返回正确提示


The more we share,The more we have.

希望这篇文章对大家有用...



  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在性能测试过程中,为了能够真实模拟用户请求,往往要将请求的报文进行参数化处理。JMeter配置元件与前置处理器都可以进行参数化,但都存在局限性。为了帮助用户更好地进行参数化,JMeter提供了BeanShell取样器。  BeanShell取样器支持BeanShell脚本语言,这是一种完全符合Java语法规范的脚本语言。下面就以一个样例来说明,如何使用BeanShell来进行参数化。  1.需求场景  有一个TCP服务,接收并处理地理位置上报的报文。报文由以下几部分组成:消息头+消息体+校验码。其中,除了消息体之外,其他部分可以是固定的,消息体包含地理位置的经纬度、速度消息和发送时间。经纬...
            11 12 2366
            分享
          •   1、GBASE简介说明  GBASE是国产的分布式并行集群数据库,据说有"三高"优势,即:高性能、高性价比、高可用性,不过查询速度确实很快,几千万的数据select  * 秒出;  先介绍下常用的表,Gbase的表分为哈希表、复制表、临时表等等,哈希表需要一个哈希字段,类似分区字段,复制表无需这个字段;一般大数据的表使用哈希分表,小数据的就是万级以下数据可以用复制表。  1.1、常用表介绍  复制表:创建表使用 REPLICATED 关键字,这样创建的表为复制表。复制表将会存储于 Gbase  Cluster 的各个节点上,每个节点都会保存完整数据。...
            0 0 4744
            分享
          • 1.移动APP安全风险分析*1.1安全威胁分析安全威胁从三个不同环节进行划分,主要分为客户端威胁、数据传输端威胁和服务端的威胁。1.2面临的主要风险1.3Android测试思维导图1.4反编译工具有两种反编译方式,dex2jar和apktool,两个工具反编译的效果是不一样的,dex2jar反编译出java源代码,apktool反编译出来的是java汇编代码。dex2jar主要是用来把之前zip解压出来的classed.dex转成jar包的jd-gui主要是用来打开Jar包的2本地客户端安全2.1反编译保护2.1.1问题描述APP源代码对于一个公司是非常重要的信息资源,对APP的保护也尤为重要...
            0 0 545
            分享
          • 一、自动化简介1、自动化测试概念:自动化的概念是一个动态发展过程。过去,人们对自动化的理解或者说自动化的功能目标是以机械的动作代替人力操作,自动地完成特定的作业。2、什么样的项目适合做自动化测试:一般情况下,只要满足如下三个情况就可以开展自动化测试软件需求变更不频繁、项目周期较长、自动化测试脚本可重复使用3、python+selenium自动化测试环境搭建步骤python+selenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器和火狐浏览器(1...
            0 0 1342
            分享
          •       前两天面试,被问到进程和线程的区别,由于是第一次面试软件测试岗,被问到这么“专业”的问题,有点惊讶,之后马上在脑海中努力回忆,还好能回答出7788。。总算没给自己专业丢脸      1.进程和线程的关系和区别      进程是一个程序在其自身的地址空间中的一次执行活动,是资源申请、调度和独立运行的单位。线程是进程的一个单一的连续控制流程,一个进程可以拥有多个线程。      线程调度的两种方式:抢占式、非抢占式。  &nbs...
            0 0 2307
            分享
      • 51testing软件测试圈微信