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接口的测试网站

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

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

工具的使用
SoapUI

添加空的项目

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

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

ReadyAPI

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

案例分析--Swagger接口

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

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

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

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

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

最后在工具生成的xlsx文件中获取接口中的信息,查看是否有敏感信息的泄露等等

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

案例分析--WebPack

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

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

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

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

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

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

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

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

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

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

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

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

加载相关资源

aliyun-accesskey-tool

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

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

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

试验完后可以删除accesskey

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

写在最后

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

相关推荐
一条晒干的咸魚18 小时前
【Web前端】实现基于 Promise 的 API:alarm API
开发语言·前端·javascript·api·promise
Ttang236 天前
后端——接口文档(API)
后端·api
Lojarro7 天前
接口文档的编写
api
Dynadot_tech8 天前
使用API有效率地管理Dynadot域名,列表形式查看账户whois联系人信息
网络·api·域名注册·dynadot
API小知识9 天前
Python中哪个框架最适合做API?
前端·后端·api
幂简集成9 天前
如何一步步获得文心一言API密钥
dubbo·api·文心一言
小小小妮子~14 天前
API:连接数字世界的桥梁
api
东皋长歌14 天前
基于redis实现API接口访问次数限制
数据库·redis·缓存·api·接口访问次数限制
崔庆才丨静觅14 天前
身份证识别及信息核验 API 对接说明
api·图像识别
一名技术极客17 天前
后端开挂:3 行代码写出 8 个接口!
java·api·apijson