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防止泄露

写在最后

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

相关推荐
一名技术极客2 天前
后端开挂:3 行代码写出 8 个接口!
java·api·apijson
Bruce_Liuxiaowei6 天前
构建安全的用户登录API:从请求验证到JWT令牌生成
人工智能·安全·阿里云·架构·大模型·api
Cici_ovo6 天前
编程相关学习点——代码内容及结构
python·学习·编程·api
API开发8 天前
测试华为GaussDB(DWS)数仓,并通过APISQL快速将(表、视图、存储过程)发布为API
数据仓库·sql·postgresql·华为云·api·gaussdb·apisql
API开发10 天前
APISQL企业版离线部署教程
sql·node.js·api·restful·graphql·apisql
Just_Paranoid10 天前
Java Spring Boot 项目开发示例指南
java·spring boot·后端·api·1024程序员节
仙魁XAN11 天前
AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型,实现 API 形式进行聊天对话
api·qwen·dify·1024程序员节·ollama
幂简集成15 天前
文案创作新思路:Python与文心一言API的完美结合
开发语言·python·api·文心一言
Cici_ovo15 天前
使用json模块解析JSON数据
python·json·api·可读性
股票程序交易接口17 天前
期货交易程序化,哪些API可供选择及如何使用?
api·策略·程序化·股票api接口·股票量化接口·期货交易