API接口安全总结

news2024/11/24 1:05:42

接口分类

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.coloradmin.cn/o/1406046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第08章_面向对象编程(高级)(static,单例设计模式,理解mian方法,代码块,final,抽象类与抽象方法,接口,内部类,枚举类,注解,包装类)

文章目录 第08章_面向对象编程(高级)本章专题与脉络1. 关键字:static1.1 类属性、类方法的设计思想1.2 static关键字1.3 静态变量1.3.1 语法格式1.3.2 静态变量的特点1.3.3 举例1.3.4 内存解析 1.4 静态方法1.4.1 语法格式1.4.2 静态方法的特点1.4.3 举例 1.5 练习 …

小土堆pytorch学习笔记001

1、Pytorch环境的配置与安装。 (1)建议安装:Anaconda (2)检查显卡:GPU (3)管理环境(不同版本的pytorch 版本不同): conda create -n pytorch…

【开源】基于JAVA+Vue+SpringBoot的农家乐订餐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核心代码4.1 查询菜品类型4.2 查询菜品4.3 加购菜品4.4 新增菜品收藏4.5 新增菜品留言 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的农家乐订餐系统&#xff0c…

防御保护----信息安全

网络安全概述 信息安全:防止任何对数据进行未授权访问的措施,或者防止造成信息有意无意泄露、破坏、丢失等问题的发生,让数据处于远离危险、免于威胁的状态和特性。 网络安全:计算机网络环境下的信息安全。 网络安全背景 网络空间…

STM32单片机学习5--STM32中断

文章目录 一、前言二、NVIC中断控制器2.1、NVIC结构体成员2.2、抢占优先级和响应优先级2.3、NVIC的优先级组 三、EXTI外部中断四、中断实战4.1、确定连线4.2、配置中断控制端口4.3、配置中断端口4.4、配置中断服务函数4.5、主函数调用 一、前言 单片机无系统执行逻辑&#xff…

央视:人工智能规模达5000亿元,企业超4400家,生成式AI发展进入快车道

2023年,对世界和中国来讲都是非常不平凡的一年。新一代信息技术,如5G、大数据和云计算,正在引领全球科技和产业变革的潮流。这些技术已经深深地融入了经济社会发展的各个领域,推动信息通信业实现了跨越式的发展。 1、AI助力产业发…

教你三个方法去除图片上的涂鸦快收藏起来吧

在数字时代,我们经常需要在图片上进行各种编辑和修改,以使其符合我们的需求。然而,有时候我们会遇到一些图片上的涂鸦,这些涂鸦不仅影响了图片的美观度,还破坏了图片的整体效果。那么图片上的涂鸦怎么去掉,…

Hive 行列转换

行列转换 列转行 使用 lateral view explode(array|map) 或 lateral view inline(array_struct) 可以将列转换为行。 单列转多行,降维(单列数组或键值对) 示例1:explode(array(…)) select ..., A from T lateral view exp…

RT-DETR 模型改进 | AKConv:具有任意采样形状和任意参数数量的卷积核

基于卷积操作的神经网络在深度学习领域取得了显著的成果,但标准卷积操作存在两个固有缺陷。一方面,卷积操作受限于局部窗口,无法捕捉其他位置的信息,而其采样形状是固定的。另一方面,卷积核的大小固定为kk,呈固定的正方形形状,而参数数量往往随大小呈平方增长。显然,不…

【Godot4自学手册】第三节设置主人公的动画

继续,今天是第三节,我们主要实现主人公的动画效果,共有两种方法实现动画效果 一、通过AnimationPlayer节点实现动画效果 我们首先在player场景下,player节点下添加AnimationPlayer节点,添加方法是,在play…

嵌入式学习-网络编程-Day6、7

嵌入式学习-网络编程-Day6 一、思维导图 二、作业 1.基于UDP的网络聊天室(2024.1.21号前上交) 项目需求: 1.如果有用户登录,其他用户可以收到这个人的登录信息 2.如果有人发送信息,其他用户可以收到这个人的群聊信息…

【论文代码】基于隐蔽带宽的汽车控制网路鲁棒认证-到达时间间隔通道的Java实现(二)

文章目录 五、TransmissionThread 抽象类5.1 IAT_thread类5.2 DLC_Thread 六、AttestationProtocol 接口6.1 HardCodedAttestation 七、FilterMash 类7.1 FilterValue 八、其他类8.1 CANAuthMessage8.2 USBtinException8.3 USBtinLibDemo8.4 CANMessage8.5 NoiseThread8.6 Filt…

Vulnhub靶机:FunBox 4

一、介绍 运行环境:Virtualbox 攻击机:kali(10.0.2.15) 靶机:FunBox 4(10.0.2.29) 目标:获取靶机root权限和flag 靶机下载地址:https://download.vulnhub.com/funbo…

11.什么档次的原型模式和我写的一样

在《生化危机》系列电影中,克隆人是个频频出现的话题。保护伞公司为了需求复制出另一个战力相当的战士Alice,不惜克隆成百上千个Alice,然而直到最后,非但没有真正克隆出另一个完美的Alice,就连Alice自己也被证实是保护…

华为OD机试之阿里巴巴找黄金宝箱(IV) C++

题目背景 贫如洗的椎夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0-N的箱子,每个箱子上面有一人数字,箱子排列成一个环,编号最大的箱子的下一个是编号为0的箱子。请输出每个箱了贴的数字之…

REVIT二次开发万能刷

将这两个参数赋予其他参数 步骤2 将来做个可以调控的版本 using System; using System.Collections.Generic; using System.Lin

常用界面设计组件 —— 数字输入和显示组件

2.3 数字输入和显示组件2.3.1 QSpinBox 与 QDoubleSpinBox2.3.2其它数值输入和显示组件 2.3 数字输入和显示组件 2.3.1 QSpinBox 与 QDoubleSpinBox QSpinBox用于整数的显示和输入,一般显示十进制 数,也可以显示二进制、十六进制数,而且可以…

基于SpringBoot的智慧社区居家养老健康管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

Shell脚本------变量

目录 一、shell脚本的变量 1、shell脚本的变量是什么? 2、变量的作用 3、变量作用范围 3.1、临时设置 3.2永久设置,需要在/etc/profile文件里添加 4、删除变量 5、变量基础 6、变量命名要求 7、特殊符号 8、整数运算 9、expr算术表达式 二、…

如何在WordPress网站中添加多语言搜索(2种简单方法)

您想在WordPress网站中添加多语言搜索吗? 如果您有一个多语言 WordPress 网站,那么添加多语言搜索功能可以帮助用户通过使用自己的语言进行搜索来更快地找到信息。 在本文中,我们将向您展示如何在 WordPress 中轻松添加多语言搜索&#xff…