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
hfs2 — CVE-2024-23692 | HFS 2.3m/2.4-RC07 Correction de la vulnérabilité RCE | Kitploit
Outils/GitHubGitHub/wgetnz/hfs2
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionOutil d'Accès à Distance
GitHubwgetnz/hfs2

hfs2

CVE-2024-23692 | HFS 2.3m/2.4-RC07 Correction de la vulnérabilité RCE

Voir le dépôt
il y a 5 moisPas 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

Introduction

You can use HFS (HTTP File Server) to send and receive files. It's different from classic file sharing because it uses web technology. It also differs from classic web servers because it's very easy to use and runs "right out-of-the box".

The virtual file system will allow you to easily share even one single file.


Security — CVE-2024-23692

Aperçu de la vulnérabilité

ProjetContenu
CVE IDCVE-2024-23692
Versions affectéesHFS 2.3m, HFS 2.4.0 RC07 et versions antérieures
Type de vulnérabilitéExécution de code à distance non authentifiée (Unauthenticated RCE)
Score CVSS9.8 Critique
Vecteur d'attaqueAccessible via le réseau, sans authentification, sans interaction utilisateur

Principe de la vulnérabilité

Lorsque le moteur de templates de HFS traite la macro {.?search.} (qui lit les paramètres de requête URL), il appelle récursivement applyMacrosAndSymbols2() sur la valeur retournée, ce qui conduit à ce qu'une chaîne contrôlée par l'utilisateur soit exécutée comme code de template.

La chaîne d'attaque se déroule en quatre étapes :

root@kitploit:~
1. Construire un paramètre search contenant %url%
         ↓
2. %url% se développe en macroQuote(URL complète) = {:url_including_payload:}
         ↓
3. %password% se développe en chaîne vide, ce qui ferme prématurément le bloc de citation {:...:}
         ↓
4. {.exec|cmd.} en dehors du bloc de citation est exécuté par le moteur de macro → RCE

Exemple de POC (à des fins de recherche uniquement) :

root@kitploit:~
GET /?n=%0A&cmd=whoami&search=%25xxx%25url%25:%password%}{.exec|{.?cmd.}|timeout=15|out=abc.}{.?n.}{.?n.}RESULT:{.?n.}{.^abc.}===={.?n.} HTTP/1.1

Solution de correctif

Fichier corrigé : scriptLib.pas

Fonction clé : noMacrosAllowed() (lignes 109–123)

root@kitploit:~
function noMacrosAllowed(s:string):string;
// prevent hack attempts
begin
  // Étape 1 : remplacer le premier caractère de toutes les marques de macro par une entité HTML
  //   {.  →  {.       .}  →  .}
  //   {:  →  {:       :}  →  :}
  //   |   →  |
  repeat
    i := findMacroMarker(s, i);
    if i = 0 then break;
    replace(s, '&#' + intToStr(charToUnicode(s[i])) + ';', i, i);
  until false;

  // Étape 2 : remplacer les références de symboles sous forme %symbol% par des entités HTML
  //   %url%       →  %url%
  //   %password%  →  %password%
  s := reReplace(s, '%([-a-z0-9]+)%', '%$1%', 'mi');
  result := s;
end;

Emplacements d'appel : Toutes les entrées contrôlées par l'utilisateur passent par cette fonction avant d'être renvoyées au moteur de templates :

Effet du correctif : Après traitement, le paramètre search dans le POC voit toutes ses marques de macro et références de symboles converties en entités HTML, empêchant ainsi l'exécution par le moteur de macro.


Dev notes

Initially developed in 2002 with Delphi 6, now with Delphi 10.3.3 (Community Edition). Icons are generated at http://fontello.com/ . Use fontello.json for further modifications.

For the default template we are targeting compatibility with Chrome 49 as it's the latest version running on Windows XP.

Libs used

  • ICS v8.64 by François PIETTE
  • TRegExpr v0.952b by Andrey V. Sorokin
  • JEDI Code Library v2.7
  • Kryvich's Delphi Localizer v4.1
Télécharger l’outil
Emplacement d'appelPortée de la protection
urlVar() ligne 548Tous les paramètres de requête URL {.?name.}
Ligne 698Lecture de variables de template
Ligne 1549Valeurs de cookie
Ligne 2089Valeurs décodées URL
Ligne 2165En-têtes HTTP
Ligne 2173Paramètres de formulaire POST