API接口测试简介

今天继续给大家介绍渗透测试相关知识,本文主要内容是API接口测试简介。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、API接口介绍

常见的API接口如下所示:

(一)RPC

RPC,即Remote Procedure Call,远程过程调用的简称,是一个计算机通信协议。该协议允许一台计算机的程序调用另一台计算机的子程序。
RPC一般使用TCP协议进行通信,通常不涉及HTTP协议。

我们后面讲到的Web Service和Restful API都可以看作是RPC的一个子集。

(二)Web Service

Web Service也称为Web服务,是一种跨编程语言和操作系统平台的远程调用技术。Web Service采用标准的SOAP协议进行数据传输,采用WSDL作为描述语言。
WSDL,Web Service Description Language,网络服务描述语言,是一门基于XML的语言,用于描述Web Service以及如何对它们进行访问。
SOAP,Simple Object Access Protocol,简单对象访问协议,是一种交换数据的协议规范,是一种轻量的、简单的、基于XML的协议,能够在Web上交换结构化的和固化的信息。
Web Service是一种较为老旧的重量级接口技术,目前大部分应用在金融机构和老的应用中。

(三)Restful API

Restful API,即符合Rest风格的API,传递数据主要采用2种形式:XML和JSON,目前XML格式比较少见,JSON格式比较常见。

(四)MVC

MVC是Web和APP应用程序开发的流行框架。MVC即Model(模型)、View(视图)和Controller(控制器),这三个模块作用如下所示:
视图:管理展示到屏幕上的图形和文字输出。
控制器:翻译用户的输入,并依照用户的输入操作模型和视图。
模型:管理应用的行为和数据,响应来自视图的数据请求和来自控制器的指令。
这种模式和架构的应用也导致了API接口的大规模应用。

二、API接口测试工具和方法

那么我们应该如何测试这些API接口类型的漏洞呢?在这里介绍两种方法:

(一)Web Service测试

利用搜索引擎语法,查找带有wsdl关键字的网页,例如:
inurl:jws?wsdl
inurl:exe?wsdl
inurl:dll?wsdl
inurl:php?wsdl
inurl:aspx?wsdl
filetype:exe
filetype:dll
filetype:php
等等。

(二)利用soap工具进行测试

其次,我们还可以利用soap工具进行测试,soap UI可以进行渗透测试流程的发起,通信报文的解析以及通信报文集合payload后重新组装等功能。
soap工具代码托管在Github平台上,URL为:https://github.com/SmartBear/soapui,其页面如下所示:
在这里插入图片描述

三、常见API接口漏洞

API接口的常见漏洞有以下6种:
1、逻辑越权漏洞
逻辑越权指的是在API接口测试时,可以猜解不同参数的含义,通过修改这些参数完成越权的操作。
2、输入控制漏洞
输入控制漏洞主要包括XXE、Restful API的注入漏洞、XSS、溢出以及特殊字符串的处理等等。
3、接口滥用
接口滥用常常是因为没有请求频率限制导致的各种遍历和爆破,可能导致短信验证码爆破、登录爆破、手机号遍历、身份证遍历等。
4、信息泄露
信息泄露指的是包括越权导致的信息泄露以及畸形请求导致的信息泄露。
5、HTTP响应头控制
我们可以在发送HTTP数据包时,删除部分信息,例如:

  • 发送X-Content-Type-Options:nosniff
  • 发送X-Frame-Options:deny
  • 发送Content-Security-By:default-src ‘none’
  • 删除指纹头X-Powered-By、Server、X-AspNet-Version等
  • 在响应种强制使用Content-type

6、服务端配置漏洞
如服务器版本信息泄露以及服务端程序本身存在的漏洞等等。

四、API接口安全加固

面对API接口的诸多安全问题,API接口安全加固通常采用以下措施:
1、认证和授权控制
2、用户输入控制
3、接口请求频率的限制
4、输出控制
5、添加安全响应头参数
参考:https://xz.aliyun.com/t/2412
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/128503156
今日推荐