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

接口测试过程中常见的接口安全问题,一般测试点梳理_0

时间:2023-03-19 00:03:15 科技观察

我们日常的接口测试工作主要是验证接口的功能(输入参数、输出参数、边界值等),我的一些中遇到的接口安全问题,整理成通用测试点,不一定适用于所有产品,仅供参考。1.登录界面验证(1)验证登录界面的密码是否为密文传输。这个测试点听起来很荒谬。密码要加密大家应该都知道,但是很多时候研发人员为了赶工会忽略这一点,所以建议大家在测试登录功能的时候一定要按F12查看密码是否在登录界面为密文。(2)验证登录接口是否可以爆破登录。对于一些安全性较高的系统,测试时需要验证登录接口是否可以爆破登录。Burpsuit可用于爆破登录测试。当然现在很多系统都是使用手机号进行动态登录的。如果您仍然使用常规帐户和密码登录,则必须质疑安全性。密码强度是否满足安全要求?您要添加验证码吗?2.接口规则验证(1)验证接口类型是否合理。理论上,除了查询接口使用GET,其余接口都应该使用POST,这样接口的安全性更高。在之前的接口测试过程中,木木遇到了很多业务接口使用get,参数拼接在url上,极不安全。另外,还有一种特殊情况,就是对于不需要用户登录的系统,不建议对查询类的接口使用GET,会出现跨站请求伪造的问题安全扫描。(2)验证新增和修改接口是否为独立接口的测试点有点离谱。木木在测试的过程中发现,新增和修改的接口共享同一个接口,看似没问题,后来却遇到了一些麻烦。业务逻辑、新的和修改的接口融合在一起,导致生产数据被篡改。因此接口设计要严谨,新增和修改的接口尽量是独立的接口。(3)验证POST接口中的参数是否拼接成URL。沐沐曾经遇到过将post接口的参数拼接到url中。数据量大时,url字符长度过大接口会报错。也许是这样的。这种情况不常见,但是遇到就记录下来。3.接口未授权验证接口未授权分为横向授权和纵向授权。我们可以使用Burpsuit、Appcan等工具进行授权授权测试。在测试过程中,我们也遇到了以下问题:验证接口url是否有区号、身份证号等参数;验证接口url有真假时是否被篡改,功能和数据是否越权;当验证接口url有type=1或2时,是否被篡改,功能和数据是否越权;当接口参数中有pagesize或size时,篡改,是否限制最大值;当界面主体参数中有ID号时,如果参数值被篡改,界面是否返回正确的提示。