Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ats-ipallow-method-case — Apache Traffic Server 10.2.0 – Hoch – Remote – Verbliebene Berechtigung – ip_allow-Methoden-Groß-/Kleinschreibung | Kitploit
Tools/GitHubGitHub/abraxas/ats-ipallow-method-case
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitNetzwerksicherheitLabs & Praxis
GitHubabraxas/ats-ipallow-method-case

ats-ipallow-method-case

Apache Traffic Server 10.2.0 – Hoch – Remote – Verbliebene Berechtigung – ip_allow-Methoden-Groß-/Kleinschreibung

Repository anzeigen
vor 14 TagenNoch 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

Abraxas Labs - ats-ipallow-method-case

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-ipallow-method-case

ats-ipallow-method-case

Klasse: Privilegien-Rest Reichweite: Remote

Apache Traffic Server 10.2.0 (b1df7334) – Apache Software Foundation

HTTP/1-Methoden mit gemischter Groß-/Kleinschreibung umgehen die standardmäßige ip_allow.yaml-Verweigerung von PURGE/PUSH/DELETE/TRACE und tunneln zum remappten Origin als ATS-uid. YAML- und Remap-@method-Parsing sind nocase. H1 tokenisiert und vergleicht dann die Request-Bytes per strncmp und gibt bei Abweichung der Groß-/Kleinschreibung -1 zurück. Die Deny-Invertierung behandelt dieses unbekannte Token als erlaubt. HTTP/2 :method ist nocase und bleibt verweigert. Cache-PURGE/PUSH benötigen weiterhin einen bekannten wksidx, daher löscht oder pusht die gemischte Schreibweise den Cache nicht.

Dies ist ein Rest der standardmäßigen eingehenden Methoden-ACL, nicht CVE-2026-33267 (hop-by-hop) und nicht die invertierte leere nicht-standardmäßige Remap-ACL (auf diesem Pin geschlossen).

IDnoch keine CVE
KlassePrivilegien-Rest
ReichweiteRemote (unauthentifiziertes HTTP/1 von einem Nicht-Loopback-Client)
CWECWE-178, CWE-863
CVSSHoch: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
ProduktApache Traffic Server
Betroffen10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) Standard-Reverse-Proxy
Authkeine. Standard-ip_allow.yaml. remap_required: 1 plus ein map.
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18710. Image ats-10.2.0-lab:local.

Ich habe den Tag 10.2.0 gepinnt, Commit b1df7334b39a878971c376da849e8da4984918b6. Neueste stabile Version 17. Aug. 2026. Aus dem Quellcode gebautes Image, kein Gadget.

Was ein Angreifer tun kann

Einen typischen Reverse-Proxy (remap_required: 1 plus ein map) über HTTP/1 von einer Nicht-Loopback-Adresse erreichen. 127.0.0.1 ist allow ALL. Leere plugin.config. Standard-ip_allow.yaml.

MethodeSenkePrivileg
HTTP/1 delete / DeLeTe nach Remap von einem 172.x-Sidecarhdrtoken_method_tokenize, dann process_quick_http_filter, dann METHOD_NOT_SUPPORTED TUNNEL (HdrToken.cc:512-528, HttpTransact.cc:6855-6858)Integrität (im Lab nachgewiesen): Origin 200 DELETED ATS-IPALLOW-METHOD-CASE-WITNESS. Großgeschriebenes DELETE ist 403. Origin-Methode als ATS-uid.
HTTP/1 tracederselbe TUNNELRecon (im Lab nachgewiesen): Origin 200 TRACE-OK. ATS baut das TRACE-Echo nicht auf (wksidx ist nicht TRACE). Großgeschriebenes TRACE ist 403.
HTTP/1 purge / pushTUNNEL für unbekannte Methoden, keine Cache-OperationIntegrität (ATS-Cache): geschlossen (im Lab nachgewiesen). Origin sah PURGE-ORIGIN / PUSH-ORIGIN. Cache-Operationen benötigen einen bekannten wksidx. push_method_enabled Standard 0.
Dieselbe Anfrage mit gemischter Schreibweiseein zusätzlicher Origin-HopVerfügbarkeit (im Lab nachgewiesen): kein Prozessabbruch.

Im Lab nachgewiesen vs. abgeleitet: Verweigerung bei Großschreibung, TUNNEL bei DELETE/TRACE mit gemischter Schreibweise, Cache-PURGE/PUSH geschlossen: Lab. Origin-DELETE/TRACE nur, wenn dieser Origin die Methoden-Groß-/Kleinschreibung faltet (IIS / manche Java). RFC-9110-Origins mit Groß-/Kleinschreibungssensitivität (nginx, httpd, Go) antworten mit 501. Das Lab-Origin faltet die Groß-/Kleinschreibung.

Erfordert: HTTP/1 von einem Nicht-Loopback-Client. remap_required: 1 plus eine map. Standardmäßiges eingehendes Verbot von PURGE/PUSH/DELETE/TRACE. HTTP/2 :method nocase weiterhin verweigert.

Angrenzende Oberfläche, die geschlossen bleibt

OberflächeLab
Exakte Groß-/Kleinschreibung DELETE / TRACE von 172.x403, Origin nicht erreicht
HTTP/2 :method gemischte Groß-/Kleinschreibungnocase-Tokenisierung, weiterhin verweigert
Gemischt geschriebenes purge / push als ATS-Cache-OperationenOrigin sah das Verb; Cache-Pfad blieb geschlossen
CONNECT-Ziel-Verbot (0.0.0.0/8, RFC1918, Link-Local, ::ffff:0:0/96)standardmäßiges ausgehendes ip_allow.yaml
remap_required: 1-Fehltreffer404, kein offenes Relay
Invertierte leere nicht-standardmäßige Remap-ACLCHANGELOG-Fix hielt
CVE-2026-33267 Hop-by-Hop / @-Stripgeschlossen bei diesem Pin

Wie ich es gefunden habe

Das standardmäßige ip_allow.yaml ist die werksseitige Remote-Methoden-ACL. Das Laden von YAML verwendet hdrtoken_tokenize (nocase). Die DENY-Invertierung setzt dann _method_mask = ALL & ~listed und _deny_nonstandard_methods = true mit einer leeren Nicht-Standard-Liste (IPAllow.cc:545-548).

Die HTTP/1-Analyse tokenisiert mit hdrtoken_method_tokenize. Der DFA ist case-insensitiv; der Helper führt dann strncmp der Anfrage-Bytes gegen den bekannten String aus und gibt bei Groß-/Kleinschreibungs-Abweichung -1 zurück:

retval = hdrtoken_tokenize(string, string_len, &string_out);
if (retval >= 0) {
  if (strncmp(string, string_out, string_len) != 0) {
    // Not a case match
    retval = -1;
  }
}

EndRemapRequest fragt isNonstandardMethodAllowed für method == -1 ab (IPAllow.h:365-376). Leeres Nonstandard-Set plus Deny-Nonstandard ergibt !method_in_set, also ist gemischte Groß-/Kleinschreibung erlaubt. is_this_http_method_supported(-1) ist false. METHOD_NOT_SUPPORTED setzt ProxyMode_t::TUNNELLING und gibt true zurück. Die Dokumentation besagt, dass ATS unbekannte Methoden an den Origin weiterleitet. Der Cache-Lookup wird im TUNNELLING-Modus übersprungen.

HTTP/2 :method durchläuft HTTPHdr::method_set -> hdrtoken_tokenize ohne Prüfung der Groß-/Kleinschreibung. H2 delete wird zu DELETE und wird abgelehnt. Dieser Rest stammt aus HTTP/1.

Fehlannahmen: die Annahme, dass RFC-9110-Origins mit Groß-/Kleinschreibungssensitivität die Deny-Liste wirkungslos machen (ATS-Cache-PURGE/PUSH bleiben geschlossen; Origin-DELETE/TRACE ist der Rest); Curling von 127.0.0.1 (allow ALL); die Behauptung eines Cache-Purge; erneutes Einreichen als Hop-by-Hop.

Theater: eine Reverse Shell. Das Orakel ist ein Witness-String am Origin nach einem 403 bei Großschreibung.

Lab

python3 ats-ipallow-method-case-Abraxas-Labs.py

oder

cd lab
./run.sh
Tool herunterladen