Web 安全之 OOB(Out-of-Band)攻击详解

news/2024/9/22 14:54:45/

OOB(Out-of-Band)攻击是指一种网络安全攻击技术,攻击者利用目标系统与外部资源之间的通信来获取信息或检测漏洞是否存在。这种攻击方式不会通过目标系统的直接响应来显示攻击结果,而是通过外部信道(如 DNS、HTTP、SMTP 等)来传递信息。因此,传统的安全测试工具可能难以检测到这类攻击。

什么是 OOB 攻击

OOB 攻击利用了系统的正常通信路径之外的途径来传递恶意数据或指令,从而绕过系统的安全防护措施。这种攻击方式使得攻击者能够在不被常规监控系统检测到的情况下,实现对目标系统的入侵和控制。OOB 攻击的名称来源于“Out-of-Band”(超出常规通信路径),表明攻击者使用了与正常通信路径不同的方式来与目标系统交互。OOB 中几个核心概念如下:

  1. Out-of-Band 通信:指目标系统与外部服务之间的通信,这种通信通常不会直接反映在应用程序的响应中。例如,应用程序可能会在处理请求时向外部服务器发送 DNS 查询或 HTTP 请求。
  2. Payload 投递:攻击者向应用程序中注入特定的 payload,这些 payload 被设计用于触发与外部系统的通信。例如,在表单输入中注入一个恶意的 URL,导致服务器向该 URL 发起请求。
  3. 外部监控:攻击者设置一个外部服务(如 DNS 服务器、SMTP 服务器或 HTTP 服务器等),用于接收和记录来自应用程序的 OOB 请求。通过分析这些请求,攻击者可以获取有价值的信息。

常见的 OOB 攻击类型

  1. SSRF(Server-Side Request Forgery):攻击者诱使服务器向他们控制的地址发送请求,从而获取内部网络信息或执行其他恶意操作。例如,通过注入一个恶意的 URL,服务器会向攻击者的服务器发送请求,泄露内部网络信息。
  2. XXE(XML External Entity):攻击者通过 XML 实体注入,访问服务器上的本地文件或与外部服务器进行通信。例如,通过注入一个外部实体引用,服务器会解析并访问攻击者控制的外部资源。
  3. Blind SQL Injection:某些 SQL 注入攻击不会在目标系统的响应中直接反映出结果,但可以通过 OOB 通信渠道获取数据。例如,通过注入一个恶意的 SQL 查询,服务器会向攻击者控制的服务器发送请求,泄露数据库信息。
  4. RCE(Remote Code Execution):通过注入恶意代码,攻击者可以远程执行服务器上的命令,并通过 OOB 通信渠道获取执行结果。例如,通过注入一个恶意的命令,服务器会执行并将结果发送到攻击者的服务器。

OOB 攻击步骤

一次 OOB 攻击一般会包含如下几步:

  1. 配置外部监控服务:设置一个外部服务器,用于接收和记录 OOB 请求。可以使用 Burp Suite Collaborator、DNSLog、Interact.sh 等工具。
  2. 注入 payload:在目标系统的输入点注入特定的 payload,这些 payload 设计用于触发外部通信。例如,在 URL 参数、HTTP 头部或 XML 数据中注入恶意的 URL。
  3. 监控外部请求:通过外部监控服务捕获来自目标系统的 OOB 请求。分析这些请求的内容,以识别潜在的安全问题。
  4. 验证和利用漏洞:根据捕获到的 OOB 请求,验证漏洞的存在,并尝试进一步利用。例如,通过 SSRF 漏洞访问内部资源,或通过 XXE 漏洞读取服务器上的敏感文件。

OOB 攻击示例

举个利用 HTTP 请求泄露信息的例子,假设一个Web应用程序在处理用户上传文件时,会根据文件的内容向一个远程服务器发送请求以获取额外的信息。攻击者可以控制这个远程服务器来收集信息。步骤如下:

  1. 攻击者控制一个 HTTP 服务器,例如 attacker[.]example[.]com.
  2. 攻击者构造一个恶意文件并上传。
  3. 应用程序根据文件内容向 attacker[.]example[.]com 发送请求。
  4. 攻击者通过监控请求来收集信息。

如何防范 OOB 攻击

为了防范 OOB 攻击,需要采取一些措施,包括但不限于以下几条:

  • 对所有用户输入的内容进行严格的校验和过滤。
  • 限制应用程序对外部系统的请求,只允许必要的通信。
  • 在设计阶段就考虑安全性,避免不必要的外部通信。
  • 定期进行安全审计,包括代码评审和渗透测试。

小结

OOB 攻击是一种比较有隐蔽性的网络攻击手段,通过理解和掌握 OOB 攻击的技术和原理,可以更好地识别和修复这些漏洞,提高应用程序的整体安全性。


http://www.ppmy.cn/news/1501216.html

相关文章

【Linux】centos7安装php7.4

环境说明 本文档在服务器不能连接互联网的情况下,进行安装php7.4及其扩展。 操作系统:centos7.6 架构:X86_64 一、安装依赖(可选) 说明:服务器能联网就可以通过 yum install 命令下载对应php需要的依赖…

nodejs - 接口 学习笔记

一、简介 1-1、是什么 接口是 前后端通信的桥梁 简单理解:一个接口就是 服务中的一个路由规则,根据请求响应结果 接口的英文单词是 API (Application Program Interface),所以有时也称之为 API 接口 这里的接口指的是『数据接口』&#xff…

LINUX操作系统安全

一、概述内容 操作系统负责计算机系统的资产管理,支撑和控制各种应用程序运行,为用户提供管理计算机系统管理接口。操作系统也是构成网络信息系统的核心关键组件,其安全可靠性决定了计算机系统的安全性和可靠性。 操作系统安全是指满足安全…

树与二叉树【数据结构】

前言 之前我们已经学习过了各种线性的数据结构,顺序表、链表、栈、队列,现在我们一起来了解一下一种非线性的结构----树 1.树的结构和概念 1.1树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一…

免费【2024】springboot 畅游游戏销售平台

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

什么材质的挖耳勺好用?硬核上佳产品分享!

耳道健康随着生活品质的提高,逐渐被大家重视。因为它会直接影响我们的听力和卫生健康,如果长时间不清理,很容易堵塞在耳膜里导致耳鸣头晕等状况。挖耳勺的材质非常多,有铁质、不锈钢、软硅胶等等,那么什么材质的挖耳勺…

【Android】广播机制

前言 广播机制是Android中一种非常重要的通信机制,用于在应用程序之间或应用程序的不同组件之间传递信息。广播可以是系统广播,也可以是自定义广播。广播机制主要包括标准广播和有序广播两种类型。 简介 在Android中,广播(Broa…

Scikit-learn简介

Scikit-learn 是一个广泛使用的开源机器学习库,它建立在 NumPy、SciPy 和 matplotlib 这些科学计算库之上,提供了简单高效的数据挖掘和数据分析工具。以下是 Scikit-learn 在机器学习项目中的一些典型应用: 1. **数据预处理**: …