Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
hfs2 — CVE-2024-23692 | HFS 2.3m/2.4-RC07 RCE-Sicherheitslückenbehebung | Kitploit
Tools/GitHubGitHub/wgetnz/hfs2
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRemote-Access-Tool
GitHubwgetnz/hfs2

hfs2

CVE-2024-23692 | HFS 2.3m/2.4-RC07 RCE-Sicherheitslückenbehebung

Repository anzeigen
vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

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

Schwachstellenübersicht

ElementInhalt
CVE-IDCVE-2024-23692
Betroffene VersionenHFS 2.3m, HFS 2.4.0 RC07 und niedriger
SchwachstellentypNicht authentifizierte Remote-Code-Ausführung (Unauthenticated RCE)
CVSS-Score9.8 Critical
AngriffsvektorNetzwerkerreichbar, keine Authentifizierung, keine Benutzerinteraktion

Funktionsweise der Schwachstelle

Die Vorlagen-Engine von HFS ruft beim Verarbeiten des Makros {.?search.} (das URL-Abfrageparameter liest) rekursiv applyMacrosAndSymbols2() auf den Rückgabewert auf, was dazu führt, dass vom Benutzer kontrollierte Zeichenfolgen als Vorlagencode ausgeführt werden.

Die Angriffskette besteht aus vier Schritten:

root@kitploit:~
1. 构造包含 %url% 的 search 参数
         ↓
2. %url% 展开为 macroQuote(完整URL) = {:url_including_payload:}
         ↓
3. %password% 展开为空字符串,导致 {:...:} 引用块提前关闭
         ↓
4. 引用块外的 {.exec|cmd.} 被宏引擎执行 → RCE

POC-Beispiel (nur für Sicherheitsforschung):

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

Behebungsvorschlag

Betroffene Datei: scriptLib.pas

Kernfunktion: noMacrosAllowed() (Zeilen 109–123)

root@kitploit:~
function noMacrosAllowed(s:string):string;
// prevent hack attempts
begin
  // 步骤 1:将所有宏标记的首字符替换为 HTML 实体
  //   {.  →  {.       .}  →  .}
  //   {:  →  {:       :}  →  :}
  //   |   →  |
  repeat
    i := findMacroMarker(s, i);
    if i = 0 then break;
    replace(s, '&#' + intToStr(charToUnicode(s[i])) + ';', i, i);
  until false;

  // 步骤 2:将 %symbol% 形式的符号引用替换为 HTML 实体
  //   %url%       →  %url%
  //   %password%  →  %password%
  s := reReplace(s, '%([-a-z0-9]+)%', '%$1%', 'mi');
  result := s;
end;

Aufrufpositionen: Alle vom Benutzer kontrollierten Eingaben werden vor der Rückgabe an die Vorlagen-Engine durch diese Funktion verarbeitet:

Wirkung der Behebung: Nach der Verarbeitung des search-Parameters im POC werden alle Makromarkierungen und Symbolreferenzen in HTML-Entities umgewandelt, sodass sie die Makro-Engine nicht mehr auslösen können.


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
Tool herunterladen
AufrufpositionSchutzbereich
urlVar() Zeile 548Alle URL-Abfrageparameter {.?name.}
Zeile 698Vorlagenvariablen lesen
Zeile 1549Cookie-Werte
Zeile 2089URL-dekodierte Werte
Zeile 2165HTTP-Header
Zeile 2173POST-Formularparameter