API安全测试要点(上)
2019-02-17 本文已影响15人
WeTester
欢迎关注公众号:WeTester测试园,获取更多内容
现如今开发基本上都是前后端分离,相比前端,后端的测试是最容易发现一些底层bug,修复成本也低。那么一般接口测试包含了哪些? 有以下几点
通过性测试(备注:根据接口文档上参数,正常传入)、业务逻辑验证测试(根据自己项目的业务逻辑来)、参数组合测试、接口安全测试和异常验证,以及性能测试等
今天主要聊聊接口的安全测试,以及常见的漏洞和使用的工具
一.逻辑越权类
这里可以分两种:
平行越权:权限类型不变(常见的增删改查),权限对象改变;
垂直越权:权限对象不变,权限类型改变(常见的增删改查);
举个例子,通过查看请求返回的数据,查看是否通过修改表示身份的字段来做跨权限请求;比如用户个人信息页,是否能通过字段自增去遍历别的用户信息;还有就是某个功能只有A权限用户可以使用,通过接口传B权限用户,验证是否能使用该功能;
二.输入控制类
XXE,Restful API 的注入漏洞,XSS,溢出,特殊字符的处理;
比如,在请求中,把某个字段的值加上两个单引号(’),看是否能够提交到数据库当中,如果能够提交到数据库,那么就存在SQL注入漏洞;
或者字段中包含“<script>alert(1)</script>”提交带有脚本标签的请求,检查是否存在XSS漏洞
三.接口滥用
没有对带有敏感信息的接口限制请求频率,会导致各种爆破和遍历,造成数据泄露,同时接口被滥用也会导致系统资源被消耗,引入其他安全问题
如短信验证码爆破、登录爆破、手机号遍历、身份证遍历等。