hacktricks/pentesting-web/parameter-pollution.md
2024-02-10 15:36:32 +00:00

6.7 KiB

Parameter Pollution

Lernen 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 ungewollte 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 Bankanwendungstransaktion:

  • 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 zur Manipulation von Transaktionen oder anderen Funktionen wie Passwortrücksetzungen, 2FA-Einstellungen oder API-Schlüsselanforderungen zeigt.

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, haben Angreifer den email-Parameter in der HTTP-Anforderung dupliziert.
  • Ergebnis: Das für die ursprüngliche E-Mail vorgesehene OTP wurde stattdessen an die zweite angegebene E-Mail-Adresse in der manipulierten Anforderung gesendet. Diese Schwachstelle ermöglichte einen unbefugten Zugriff, indem die beabsichtigte Sicherheitsmaßnahme umgangen wurde.

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

Fall von API-Schlüssel-Manipulation:

  • Szenario: Eine Anwendung ermöglicht Benutzern die Aktualisierung ihres API-Schlüssels über eine Profil-Einstellungsseite.
  • Angriffsvektor: Ein Angreifer entdeckt, dass er durch Anhängen eines zusätzlichen api_key-Parameters an die POST-Anforderung das Ergebnis der API-Schlüssel-Aktualisierungsfunktion 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 aktualisiert nur das letzte Auftreten und verwendet den vom Angreifer angegebenen Wert für den API-Schlüssel.
  • 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 Parameterverarbeitung, insbesondere bei Funktionen von so großer Bedeutung 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: Nimmt den Wert des ersten Parameters an, den es findet, z.B. a=1 in einer Abfragezeichenfolge a=1&a=2, wobei die erste Instanz Vorrang vor den nachfolgenden Duplikaten hat.
  • PHP (auf Apache HTTP Server): Priorisiert hingegen den letzten Parameterwert und wählt in diesem Beispiel a=2. Dieses Verhalten kann unbeabsichtigt HPP-Angriffe erleichtern, indem der manipulierte Parameter des Angreifers über den ursprünglichen Parameter gestellt wird.

Referenzen

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

Andere Möglichkeiten, HackTricks zu unterstützen: