API接口安全总结

接口分类

HTTP接口

RPC接口(客户端和服务器端的连接 例如游戏登陆)非web协议,`PRC` 远程过程调用 `Remote Procedure Call`,其就是一个节点请求另外一个节点提供的服务。当两个物理分离的子系统需要建立逻辑上的关联时,`RPC` 是牵线搭桥的常见技术手段之一。除 `RPC` 之外,常见的多系统数据交互方案还有分布式消息队列、`HTTP` 请求调用、数据库和分布式缓存等。

- 本地过程调用:
  如果要将本地的对象进行相关操作,可以定义一个方法,然后将相关对象传入,然后对其对象进行更新,然后由函数返回更新后的函数对象。
- 远程过程调用:
  在上述过程中,如果其定义的函数是在另外一个服务器端,并且执行的函数体也是在另外一台远程服务器上,那么这个过程就称之为远程过程调用。

接口本来是网站管理员用来测试网站功能的地方,利用一些管理工具来集中接口有利于管理员测试接口功能的正确性,但是如果没有做好防护,被黑客利用就有可能会造成接口中的信息泄露甚至有可能会出现SQL注入,命令执行等一系列高危漏洞

常见的几种接口

SOAP(Simple Object Access Protocol)简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于 XML(标准通用标记语言下的一个子集)的协议,它被设计成在 WEB 上交换结构化的和固化的信息。SOAP 不是 Web Service 的专有协

议。SOAP 使用 HTTP 来发送 XML 格式的数据,可以简单理解为:SOAP = HTTP +XML

REST(Representational State Transfer)即表述性状态传递,在三种主流的Web 服务实现方案中,因为 REST 模式的 Web 服务与复杂的 SOAP 和 XML-RPC 对比来讲明显的更加简洁,越来越多的 Web 服务开始采用 REST 风格设计和实现。例如,Amazon.com 提供接近 REST 风格的 Web 服务进行图书查找;雅虎提供的 Web 服务也是REST 风格的。

WSDL(Web Services Description Language)即网络服务描述语言,用于描述Web 服务的公共接口。这是一个基于 XML 的关于如何与 Web 服务通讯和使用的服务描述;也就是描述与目录中列出的 Web 服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。

案例分析--WEBService

通过信息收集我们可以获得一个网站的WebService接口的测试网站

API接口安全总结_第1张图片

列出的每一个接口我们都可以进行测试,我们可以单一测试,我们也可以使用?asmx查看该网站下的所有接口

API接口安全总结_第2张图片

为了方便测试,我们可以使用工具帮助我们进行测试

工具的使用
 SoapUI

添加空的项目

API接口安全总结_第3张图片

输入网站地址(以wsdl结尾)

API接口安全总结_第4张图片

找到可以修改的地方进行测试修改

API接口安全总结_第5张图片

ReadyAPI

也可以使用自动化检测工具(收费)进行自动化检测生成报告

API接口安全总结_第6张图片

案例分析--Swagger接口

第三方插件去调试网站的接口---->我们利用这个插件获取网站所有可以调试接口的地方

探针方式:目录 JS加载的资源 目录中有Swagger-ui等相关关键字可以帮助我们进行判断

我们可以使用SoapUI获取网站的接口进行测

API接口安全总结_第7张图片

工具的使用
自动化工具 Swagger-hacker

可以使用自动化工具帮助我们进行扫描判断

API接口安全总结_第8张图片最后在工具生成的xlsx文件中获取接口中的信息,查看是否有敏感信息的泄露等等

API接口安全总结_第9张图片

如果存在信息泄露,我们就可以获取到网站中的敏感信息

案例分析--WebPack

webpack 是代码编译工具,有入口、出口、loader 和[插件](https://baike.baidu.com/item/插件/369160?fromModule=lemma_inlink)。webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块,并生成一个或多个 *bundle*。

判断可以使用工具识别,也可以抓包搜索关键字

API接口安全总结_第10张图片

也可以使用浏览器抓包获取关键字看是否有webpack的相关关键字

工具的使用
自动化检测工具PackgeFuzz

最后使用工具测试就接口是否有安全问题(PackageFuzz)

案例分析--阿里云服务器接口管理

我们可以在aliyun开启我们的安全用户accesskey

API接口安全总结_第11张图片

企业在调用主机,oss等资源会调用这些东西

但是accesskey被攻击者获取的话就会接管阿里云中的所有资源信息如主机权限,oss等等

工具的使用
行云管家--在线管理平台

使用相关工具可以去管理我们的云服务资源

API接口安全总结_第12张图片

输入阿里云注册的accesskey就可以管理云服务资源

API接口安全总结_第13张图片

加载相关资源

API接口安全总结_第14张图片

aliyun-accesskey-tool

使用工具也可以直接获取cmd权限

补充:使用pyinstaller打包python文件为exe文件

API接口安全总结_第15张图片

相当于webshell工具,将我们对于云服务器的管理操作命令执行进行可视化操作

试验完后可以删除accesskey

API接口安全总结_第16张图片

在平时生活中如果申请了accesskey来方便云服务器管理请务必管理好key防止泄露

写在最后

如有错误,请及时指出,感谢

你可能感兴趣的:(Web安全漏洞,API安全,API)