【Web安全】API安全(一)

一、API基础知识

1、什么是API

Application Programming Interface (应用编程接口)
API使用场景:系统功能调用
在windows平台,用JAVA代码实现文件的功能
在这里插入图片描述
实现层次:从低到高
1、Windows操作系统根据硬件的架构,提供了现成的操作系统结构
2、Java语言的核心类库调用了Windows操作系统的结构
3、我们直接调用了Java编程语言的API(import一下即可),实现了文件读取

API使用场景

  1. 数据交换:API接口可以通过定义一定的数据格式和协议,实现不同系统之间的数据交互
  2. 应用集成:如果一个应用需要另外一个应用的数据或者功能,可以通过API接口来实现应用之间的集成。
  3. 数据分析:API接口可以帮助用户获取大量的数据,并对这些数据进行分析处理。
  4. 自动化任务:API接口可以让程序实现自动化操作,提高工作效率。
  5. 移动应用开发:API接口可以提供各种数据和服务,帮助开发者快速构建移动应用。

系统功能调用
(封装分层思想)

在这里插入图片描述
API使用场景:前端调用后端
前端耦合
在这里插入图片描述
API使用场景:系统内部相互调用

在这里插入图片描述
企业间的相互调用

在这里插入图片描述
API和SDK
Software Development Kit 软件开发工具包,通常SDK里面会包含很多API

2、API规范

API格式:
1、服务器地址(IP以及端口)
2、通信协议(例如 http、tcp、MQ((消息中间件)生产者、消费者))
3、endpoint (接口的URL地址)
4、版本
5、消息格式
6、请求响应字段描述
7、响应码
8、接口安全要求
OPEN API MAP
https://openapi-map.apihandyman.io/

API类型:

1、SOAP/WebService(HTTP+XML)
2、GraphQL API
https://graphql.bootcss.com/learn/
3、RESTful API(HTTP+JSON)
Representational State Transfer:表述性状态传递
http://restful.p2hp.com/
https://www.wenjiangs.com/doc/7a28swsy51mb
OPEN API 中文文档
https://openapi.apifox.cn/

3、API文档

API文档生成工具
Swagger
【工程示例】springboot_swagger
API文档示例
百度地图API
https://lbsyun.baidu.com/
FOFA API
https://fofa.info/api
钉钉API
https://open.dingtalk.com/document/ability/list
短信平台
https://unisms.apistd.com/pricing/standard

二、API安全概述

1、API安全的目标

网络安全、信息(数据)安全、应用安全
信息系统安全三要素(CIA)
1、机密性(Confientiality)
2、完整性(Integrity)
3、可用性(Availability)

2、威胁建模工具

常见的API风险

  1. 欺骗(Spoofing)
  2. 篡改(Tampering)
  3. 抵赖(Repudiation)
  4. 信息泄露(Information disclosure)
  5. 拒绝服务(Denial of service)
  6. .越权(Elevation of privilege)

3、API常见威胁

OWASP API TOP 10
1、水平越权漏洞(ID被遍历操作)
2、身份验证漏洞(重置邮箱漏洞)
3、操作了未被允许的字段(查询用户密码或更新用户ID)
4、高并发缺陷(DDoS)
5、垂直越权(普通用户使用管理员接口)
6、业务安全漏洞(薅羊毛、恶意退款)
API安全特点:API包括后端提供给前端的。提供给公司内部其他系统的。提供给其他公司的。提供给大众用户的。

  • 入口更多
  • 更新变化更多
  • 无法靠参数过滤防护

4、API安全测试检查表

API安全测试的31个Tips:
https://www.cnblogs.com/Eleven-Liu/p/15814543.html添加链接描述
API安全主要测试工具:
Burp Suite及相关插件:拦截、改包、发包、接口提取
Postman:HTTP发包
JMeter:性能测试
Fiddler:抓包
Python: requests
JSFinder: 接口地址提取工具
小程序、APP逆向

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值