Parameter Pollution

Parameter Pollution

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Übersicht über HTTP-Parameterverunreinigung (HPP)

HTTP-Parameterverunreinigung (HPP) ist eine Technik, bei der Angreifer HTTP-Parameter manipulieren, um das Verhalten einer Webanwendung auf unerwünschte Weise zu ändern. Diese Manipulation erfolgt durch Hinzufügen, Ändern oder Duplizieren von HTTP-Parametern. Die Auswirkungen dieser Manipulationen sind für den Benutzer nicht direkt sichtbar, können jedoch die Funktionalität der Anwendung auf der Serverseite erheblich verändern und sich auf der Clientseite bemerkbar machen.

Beispiel für HTTP-Parameterverunreinigung (HPP)

Eine URL für eine Transaktion in einer Bankanwendungen:

  • Ursprüngliche URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000

Durch Hinzufügen eines zusätzlichen from-Parameters:

  • Manipulierte URL: https://www.victim.com/send/?from=accountA&to=accountB&amount=10000&from=accountC

Die Transaktion kann fälschlicherweise auf accountC anstelle von accountA belastet werden, was das Potenzial von HPP zeigt, Transaktionen oder andere Funktionen wie Passwortrücksetzungen, 2FA-Einstellungen oder API-Schlüsselanforderungen zu manipulieren.

Technologiespezifische Parameteranalyse

  • Die Art und Weise, wie Parameter analysiert und priorisiert werden, hängt von der zugrunde liegenden Webtechnologie ab und beeinflusst, wie HPP ausgenutzt werden kann.

  • Tools wie Wappalyzer helfen dabei, diese Technologien und ihr Analyseverhalten zu identifizieren.

PHP und HPP-Ausnutzung

Fall von OTP-Manipulation:

  • Kontext: Ein Anmeldeverfahren, das eine Einmalpasswort (OTP) erfordert, wurde ausgenutzt.

  • Methode: Indem sie den OTP-Anforderung mit Tools wie Burp Suite abfangen, duplizieren Angreifer den email-Parameter im HTTP-Request.

  • Ergebnis: Das OTP, das für die ursprüngliche E-Mail gedacht war, wurde stattdessen an die im manipulierten Request angegebene zweite E-Mail-Adresse gesendet. Diese Schwachstelle ermöglichte unbefugten Zugriff, indem sie die beabsichtigte Sicherheitsmaßnahme umging.

Dieses Szenario verdeutlicht ein schwerwiegendes Versäumnis in der Backend-Anwendung, das den ersten email-Parameter für die OTP-Generierung verarbeitete, aber den letzten für die Zustellung verwendete.

Fall von API-Schlüssel-Manipulation:

  • Szenario: Eine Anwendung ermöglicht Benutzern, ihren API-Schlüssel über eine Profilseiteneinstellung zu aktualisieren.

  • Angriffsvektor: Ein Angreifer entdeckt, dass er durch Anhängen eines zusätzlichen api_key-Parameters an die POST-Anforderung das Ergebnis der API-Schlüsselaktualisierungsfunktion manipulieren kann.

  • Technik: Unter Verwendung eines Tools wie Burp Suite erstellt der Angreifer eine Anforderung, die zwei api_key-Parameter enthält: einen legitimen und einen bösartigen. Der Server, der nur das letzte Auftreten verarbeitet, aktualisiert den API-Schlüssel auf den vom Angreifer bereitgestellten Wert.

  • Ergebnis: Der Angreifer erhält die Kontrolle über die API-Funktionalität des Opfers und kann potenziell unbefugt auf private Daten zugreifen oder diese ändern.

Dieses Beispiel unterstreicht die Notwendigkeit einer sicheren Parameterbehandlung, insbesondere bei Funktionen wie der Verwaltung von API-Schlüsseln.

Parameteranalyse: Flask vs. PHP

Die Art und Weise, wie Webtechnologien doppelte HTTP-Parameter behandeln, variiert und beeinflusst ihre Anfälligkeit für HPP-Angriffe:

  • Flask: Übernimmt den Wert des ersten Parameters, den es findet, wie z.B. a=1 in einer Abfragezeichenfolge a=1&a=2, wobei die erste Instanz gegenüber nachfolgenden Duplikaten priorisiert wird.

  • PHP (auf dem Apache HTTP Server): Priorisiert im Gegensatz dazu den letzten Parameterwert und wählt in dem gegebenen Beispiel a=2. Dieses Verhalten kann unbeabsichtigt HPP-Angriffe erleichtern, indem der manipulierte Parameter des Angreifers über dem ursprünglichen bevorzugt wird.

Referenzen

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated