安全测试参考指南

最近对接口安全测试方面的内容进行了总结,主要包括以下内容

 

一、授权

1. 接口请求方法应该与接口设计一致,过滤不允许的请求方式。对不允许的请求方式,可以返回HTTP状态码 405 Method not allowed

2. 对用户的API KEY或者SESSION TOKEN应该限定访问权限,并设置明确的有效期

 

二、输入确认

1. 检查请求Header中的Content-Type是否为服务器允许的类型,并且请求的内容类型与Content-Type一致,如果不同,可以发返回HTTP状态码:406 Not Acceptable 或者415 Unsupported Media Type

2. 对传入服务器的内容(类型/格式/范围/长度)进行校验

3. 传入的内容需要转义或过滤(例如检查是否在允许的正则式范围内),避免注入攻击

4. 对请求体的大小有明确的限定,超过大小限制的访问应该拒绝,使用HTTP状态码 413 Request Entity Too Large

 

三、输出编码

1. 服务器发送的内容需要明确Content-Type,并且与内容类型一致。另外,Content-Type中应该包含所使用的字符集(charset)。例如:Content-Type: application/json; charset=utf-8

Content-Type: multipart/form-data; charset=utf-8

2. 服务端应该发送 X-Content-Type-Options: nosniff,避免客户端重复探测所使用的Content-Type

 

四、加密

1. 在传输数据时,应该使用HTTPS协议。在只支持HTTPS的服务中,需要设置HTTP Strict Transport Security(HSTS),例如:Strict-Transport-Security: max-age=31536000 ; includeSubDomains

2. 敏感信息传输时需要进行加密,并且放入Header或者POST的Body中进行传输

 

五、频率控制

1. 对用户的访问进行频率控制,避免引起拒绝服务攻击。如果请求太快,可以返回HTTP状态码 429 Too Many Requests

 

六、状态码使用

1. 状态码使用符合HTTP标准状态码定义

2. 禁止在业务中使用标准的HTTP状态码

 

七、日志记录

1. 请求的日志中应该能区分客户信息

2. 对访问失败的请求有日志记录,便于后续确认是否受到攻击

 

参考资料:

https://cheatsheetseries.owasp.org/cheatsheets/REST_Security_Cheat_Sheet.html

https://blog.restcase.com/top-5-rest-api-security-guidelines/

OWASP Application Security Verification Standard (ASVS) Project - https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值