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

写在最后

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/244268.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7 两种方式安装 MySQL5.7 步骤 yum 、本地 tar 文件

一、使用 yum 源方式安装 1、卸载系统自带 mariadb MariaDB Server 是最流行的开源 关系型数据库 之一。它由 MySQL 的原始开发者制作,并保证保持开源。 在 CentOS 7 中默认安装有 MariaDB 可忽略,安装完成之后可以直接覆盖掉 MariaDB。 查看并卸载系统…

扩散模型公式推导

这篇文章将尝试推导扩散模型 DDPM 中涉及公式,主要参考两个 B 站视频: 大白话AI狗中赤兔 本文所用 PPT 元素均来自 UP 主,狗中赤兔和大白兔AI,特此感谢。 在证明开始,我们需要先对扩散模型有一个整体的认知。扩散模型…

(M)unity2D敌人的创建、人物属性设置,遇敌掉血

敌人的创建 1.敌人添加与组件设置 1)添加敌人后,刚体添加,碰撞体添加(一个碰撞体使猪在地上走,不接触人,另一个碰撞体组件使人和猪碰在一起产生伤害) ①刚体 ②碰撞体一 设置的只在脚下&a…

【寒假打卡】Day01

文章目录 选择编程HJ99 自守数OR86 返回小于 N 的质数个数 选择 如下代码输出的是什么( ) char a101; int sum200; a27;suma; printf("%d\n",sum);A: 32 B: 99 C: 328 D: 72 答案: C 解析: 首先,char a …

VIM工程的编译 / VI的快捷键记录

文章目录 VIM工程的编译 / VI的快捷键记录概述笔记工程的编译工程的编译 - 命令行vim工程的编译 - GUI版vim备注VIM的帮助文件位置VIM官方教程vim 常用快捷键启动vi时, 指定要编辑哪个文件正常模式光标的移动退出不保存 退出保存只保存不退出另存到指定文件移动到行首移动到行尾…

Spring RabbitMQ那些事(3-消息可靠传输和订阅)

目录 一、序言二、生产者确保消息发送成功1、为什么需要Publisher Confirms2、哪些消息会被确认处理成功 三、消费者保证消息被处理四、Spring RabbitMQ支持代码示例1、 application.yml2、RabbigtMQ配置3、可靠生产者配置4、可靠消费者配置5、测试用例 一、序言 在有些业务场…

告别无法访问的Github

告别无法访问的Github 最近在使用github的时候又登不上去了,挂着VPN都没用 但是自己很多项目都存在github,登不上去那不得损失很大 所以一行必须整点儿特殊手段来访问,顺便分享一下 1.加速器 网上很多解决方案都是在分享各种加速器来登陆…

大型语言模型 (LLM)全解读

一、大型语言模型(Large Language Model)定义 大型语言模型 是一种深度学习算法,可以执行各种自然语言处理 (NLP) 任务。 大型语言模型底层使用多个转换器模型, 底层转换器是一组神经网络。 大型语言模型是使用海量数据集进行训练…

【Linux】Linux中的日志查询方法

文章目录 linux日志与日志的查询方法更多journalctl用法journalctl用法案例部分日志路径说明推荐阅读 linux日志与日志的查询方法 在Linux系统中,日志文件用于记录系统的各种运行信息和错误消息。常见的日志文件包括但不限于/var/log/下的各种日志,如me…

Armv8-M的TrustZone技术之SAU寄存器总结

每个SAU寄存器是32位宽。下表显示了SAU寄存器概要。 5.1 SAU_CTRL register SAU_CTRL寄存器的特征如下图和表所示: 5.2 SAU_TYPE register 5.3 SAU_RNR register 5.4 SAU_RBAR register 5.5 SAU_RLAR register 5.6 SAU区域配置 当SAU启用时,未由已启用…

亚信安慧AntDB:AntDB-M元数据锁之对象锁(四)

l 对象锁 (per-object locks) 除了IX锁,其他类型都可以用于其他命名空间,这部分是最常用的锁类型。主要用于对数据库的某个具体元数据的并发控制。这类锁对象会比较多,对其有独特的管理,本文不再展开说明。 5.3 两种锁类型 根据…

桌面型物联网智能机器人设计(预告)

相关资料 桌面级群控机器人CoCube探索-2022--CSDN博客 视频: 能!有!多!酷!CoCube桌面级群控机器人 让我看看谁在SJTU里划水… 简要介绍 设计一个桌面型物联网智能机器人,以ESP32芯片为核心,配…

网络安全的使命:守护数字世界的稳定和信任

在数字化时代,网络安全的角色不仅仅是技术系统的守护者,更是数字社会的信任保卫者。网络安全的使命是保护、维护和巩固数字世界的稳定性、可靠性以及人们对互联网的信任。本文将深入探讨网络安全是如何履行这一使命的。 第一部分:信息资产的…

【Linux】常见指令(一)

前言: Linux有许多的指令,通过学习这些指令,可以对目录及文件进行操作。 文章目录 一、基础指令1. ls—列出目录内容2. pwd—显示当前目录3. cd—切换目录重新认识指令4. touch—创建文件等5. mkdir—创建目录6. rmdir指令 && rm 指令7. man—显…

学会使用ubuntu——ubuntu22.04使用WebCatlog

Ubuntu22.04使用WebCatlog WebCatlog是适用于Gnu / Linux,Windows或Mac OS X系统的桌面程序。 引擎基于铬,它用于在我们的桌面上处理Web服务。简单点就是把网页单独一个窗口出来显示,当一个app用。本文就是利用WebCatlog安装后的notion编写的…

5G-A:“繁花”盛开在2024

2019年,我国正式发牌5G,开启5G商用新时代。通信技术十年一代,五年过去了,5G是否要进入“半代更迭”阶段? 2024年被视为5G-A商用元年,是5G走向6G的关键一跃。5G-A以R18为演进起点,在连接速率、网…

macOS跨进程通信: Unix Domain Socket 创建实例

macOS跨进程通信: Unix Domain Socket 创建实例 一: 简介 Socket 是 网络传输的抽象概念。 一般我们常用的有Tcp Socket和 UDP Scoket, 和类Unix 系统(包括Mac)独有的 Unix Domain Socket(UDX)。 Tcp So…

数据的存储

目录 1 -> 数据类型的介绍 1.1 -> 类型的基本归类 2 -> 整型在内存中的存储 2.1 -> 原码、反码、补码 2.2 -> 大小端介绍 3 -> 浮点型在内存中的存储 3.1 -> 浮点数存储规则 1 -> 数据类型的介绍 基本内置类型有: char /…

小程序技术实践:快速开发适配鸿蒙的App

今年,在中国,被各大媒体和开发者称为“鸿蒙元年”。 在2023年底就有业内人士透露,华为明年将推出不兼容安卓的鸿蒙版本,未来IOS、鸿蒙、安卓将成为三个各自独立的系统。 果不其然,执行力超强的华为,与202…

黑马程序员JavaWeb开发|Maven高级

一、分模块设计与开发 分模块设计: 将项目按照功能拆分成若干个子模块,方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享。 注意:分模块开发需要先对模块功能进行设计,再进行编码。不会先将工…