快捷搜索:  汽车  科技

微服务api和rpc分离的好处(微服务测试系列)

微服务api和rpc分离的好处(微服务测试系列)1、尽可能的先获取API规范描述文件,例如api-docs.json文件、Swagger文件、RAML文件、API-Buleprint文件等,通过文件获取API和详细调研方式及参数定义。RESTful API渗透测试要点:3、RESTful API与传统Web网页不同,由于API纯后端应用,不可见或无持续连接状态的特性,导致测试时容易忽略或无法发现某些接口。4、RESTful API协议的HTTP状态码与普通HTTP协议库存在差异,对安全辅助工具的自动化判断产生影响。5、前端很多接口交互的发起使用Ajax请求,例如Vue、Angular、React,对安全扫描工具捕获API流量挑战大。

RESTful API渗透测试

API安全越来越收到企业重视,真正懂API渗透测试的测试工程师却很少,做好API渗透测试,要求测试工程师必须了解API技术的实现、API漏洞原理。

RESTful API是使用REST风格进行HTTP接口数据交互的接口表现形式,有以下特性:

1、RESTful API的接口数据交互方式大数据为JSON,由多个参数或键值对组成的JSON结构作为参数与服务器端进行交互,这种请求参数的格式,Fuzz测试时注意不要混淆。

2、大数据API都有认证机制,例如OAuth2.0、APPID/APPKEY,尤其是自定义认证方式时,渗透测试更困难,需要先理清业务逻辑才能更好地展开。

3、RESTful API与传统Web网页不同,由于API纯后端应用,不可见或无持续连接状态的特性,导致测试时容易忽略或无法发现某些接口。

4、RESTful API协议的HTTP状态码与普通HTTP协议库存在差异,对安全辅助工具的自动化判断产生影响。

5、前端很多接口交互的发起使用Ajax请求,例如Vue、Angular、React,对安全扫描工具捕获API流量挑战大。

RESTful API渗透测试要点:

1、尽可能的先获取API规范描述文件,例如api-docs.json文件、Swagger文件、RAML文件、API-Buleprint文件等,通过文件获取API和详细调研方式及参数定义。

2、无界面情况下,除了API规范描述文件外,可以通过Proxy代理方式,对流量进行分析获取API详情。

3、关注可攻击的点,例如请求参数,请求方法,是否存在授权绕过(令牌是否正确验证、令牌是否有实效性)、是否存在注入点(Mysql、Nosql),是否存在批量分配等问题。

4、关注通用安全问题,例如是否存在Key泄露、是否存在暴力破解可能、同一API多个版本不一致问题、XSS、CSRF等。

5、面向不同层次会话的攻击,例如传输是否使用SSL或可信数字证书,应用会话是否设置超时或采取限流熔断机制等。

RPC API渗透测试

RPC API主要特性:

1、通信协议在数据交互上大多数基于Client->Client stub->Server stub->Server的对等结构。典型的如RMI接口的通信原理,如下图:

微服务api和rpc分离的好处(微服务测试系列)(1)

2、不同的API技术使用多种数据交换格式,例如JSON、XML、序列化数据结构等。

RPC API渗透测试要点:

1、使用序列化数据结构的API协议,反序列化漏洞最为频繁,例如JAVA RMI接口。

2、不同的API协议导致渗透测试中需要使用专门的协议辅助工具,如Protobuf协议辅助工具BlackBox Burp Suite插件、AMF协议辅助工具Blazer Burp Suite插件、MessagePack数据格式辅助工具MessagePack Burp Suite插件等。

3、探测默认端口或通过nmap扫描服务器开放的端口可以发现服务器端调用入口。例如Dubbo注册服务器端端20880端口。

4、传统web安全问题,例如XXE、SQL注入。

猜您喜欢: