软件测试常用测试用例之接口安全测试

文章详细阐述了API接口的安全检测,包括登录验证、接口规则、权限校验、结构安全、失效授权、数据暴露、速率限制、功能授权、配置错误、注入攻击、资产管理以及日志和监视等方面,强调了各环节的安全防护措施和潜在风险。
摘要由CSDN通过智能技术生成

登录接口校检

1.验证登录接口中密码是否密文传输
2.验证登录接口简单密码是否可以爆破登录
3.验证登录接口验证码是否可以爆破登录

接口规则校验

1.接口类型是否合理
2.验证新增和修改接口是否是独立的接口
3.验证POST接口中是否将参数拼接成URL

接口越权校验

1.验证接口url上是否区域编码、身份证号等参数
2.验证接口url上存在true或false时,进行篡改,功能、数据是否越权
3.验证接口url上存在type=1或2时,进行篡改,功能、数据是否越权
4.接口参数中存在pagesize或者size时,进行篡改,是否进行最大值限制
5.接口body参数中存在身份证号码时,篡改参数值,接口是否返回正确提示
6.同级别的用户是否可以执行该接口
7.高于该级别的用户是否可以执行该接口
8.低于该级别的用户是否可以执行该接口

接口结构进行校验

1.将url替换http方法,整改body是否有问题
2.登录接口,看uel后半部分是否有有没有跨目录问题
3."登录接口,看uel后半部分是否有重定向问题
4.url中的参数注入测试,查询看有没有sql注入xss、crlf等
5.Head头部分,如果是web接口,cors csrf 日志注入
6.上传接口可能要验下type字段,是否限定
7…如果场景传xml,文件没解析可能有xxe等等
8.换别的类型文件是否可以传
9.大小,文件,dos,是否有做解析
10.Body,参数大小/类型是否有限制
11.body内容替换成其他用户/租户,是否有误越权问题

失效的对象级别授权

1.在使用某个功能时通过用户提交的对象 ID(如订单号、记录号)来访问或操作对应的数据,且未进行严格的权限限制。
2.使用 burpsuite对 oid 参数进行遍历,尝试越权访问他人订单详情,可以看到成功查看到了他人订单信息。

失效的用户身份验证

1.未校验令牌的有效性
2.更新密码接口微信啊之请求频率,旧密码参数可暴力破解
3.短信验证码或邮箱
4.验证码有效期超过10分钟或长度小于6位"

过度数据暴露

1.不要以拦客户端来过滤敏感数据检查API的响应,确认其中仅包含合法数据,停止用通用API向用户发送一切的过程(必须避免将所有信息直接执行toString(),to_json(),然后发送给客户端,只选择返回给授权用户的属性,并专门发送这些信息)对于敏感数据应使用加密技术进行保护。

资源缺乏和速率限制

1.对用户调用 API 的频率执行明确的时间窗口限制,定义并强制验证所有传入参数和有效负荷的最大数据量,例如字符串的最大长度和数组中元素的最大数量。在突破限制时通知客户,并提供限制数量及限制重
置的时间。

失效的功能级授权

1.防止这种 API 漏洞尤其重要,因为攻击者不难找到结构化函数,因此所有业务层面的功能都必须使用基于角色的授权方法进行保护。一定要在服务器上实现授权,不能试图从客户端保证功能的安全。在创建功能和资源级别时,用户应该只被赋予做它们需要的事情的权限,实践最小权限的方法,批量分配,如果可能,请避免使用将客户输入自动绑定到代码变量或内部对象中的函数。仅将客户端可更新的属性列入白名单。
2.使用内置功能将客户端不应该访问的属性列入黑名单,如果可能,为输入数据有效负载准确、明显的定义和实施schema格式

安全配置错误

1.比如攻击者在服务器的根目录下找到.bash_history文件,该文件包含DevOps团队用于访问API的命令,攻击者可由此命令获取权限认证信息
(Zm9vOmjhcg==base64解码:foo:bar)以及接口信息。

注入

1.判断服务端是否支持 XML 解析,如果支持,可以尝试 XML 注入。

<?xml version=""1.0""encoding=""utf-8""?> ]>

&entityex;
API 未对来自外部系统(如,集成系统)的数据进行验证、过滤或净化。

资产管理不当

1.应该做到对所有的 API、他们的用途和版本进行严格的盘点。主要关注因素包括,部署到什么环境中,如生产或开发,谁应该对它们有网络访问权限、收集和处理哪些数据,是常规数据还是敏感数据、API的存活时间、当然还有它们的版本。一旦完成,需要实施一个流程,将文档添加到任何新创建的 API 或服务中。这应该包括 API 的所有方面,包括速率限制、如何请求和相应、资源共享、可以连接到哪些端点、以及它任何以后需要审计的内容,还需要避免在生产中使用非生产 API,考虑给 API 增加一个时间限制等。

日志和监视不足

1.API 的脆弱项:
没有生成任何日志、日志级别没有正确设置、或日志消息缺失足够的细节信息;不能保证日志的完整性;没有对日志进行持续监视;API 基础设施没有被持续监视。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值