Entwickler von Webanwendungen vertrauen häufig darauf, dass die meisten Benutzer die Regeln befolgen und eine Anwendung verwenden, wie sie verwendet werden soll. Wie sieht es aber aus, wenn der Benutzer (oder ein Hacker) die Regeln verbiegt? Was passiert, wenn ein Benutzer die schicke Weboberfläche überspringt und unter der Haube herumfummelt, ohne die vom Browser auferlegten Einschränkungen?
Was ist mit Firefox?
Firefox ist aufgrund seines Plug-in-freundlichen Designs der Browser der meisten Hacker. Eines der bekannteren Hacker-Tools für Firefox ist das Add-On Tamper Data. Tamper Data ist kein sehr kompliziertes Tool, sondern lediglich ein Proxy, der sich zwischen dem Benutzer und der Website oder Webanwendung, die er gerade besucht, einfügt.
Tamper Data ermöglicht es einem Hacker, den Vorhang zurückzuziehen, um die HTTP-"Magie", die sich hinter den Kulissen abspielt, einzusehen und sich damit zu beschäftigen. Alle diese GETs und POSTs können ohne die Einschränkungen der Benutzeroberfläche des Browsers bearbeitet werden.
Was ist zu mögen?
Warum also mögen Hacker Tamper Data so sehr und warum sollten sich Webentwickler dafür interessieren? Der Hauptgrund ist, dass es einer Person ermöglicht wird, die Daten zwischen Client und Server hin und her zu manipulieren (daher der Name "Manipulationsdaten"). Wenn Tamper Data gestartet wird und eine Webanwendung oder Website in Firefox gestartet wird, zeigt Tamper Data alle Felder an, in denen der Benutzer Eingaben oder Manipulationen vornehmen kann. Ein Hacker kann dann ein Feld in einen "alternativen Wert" ändern und die Daten an den Server senden, um zu sehen, wie es reagiert.
Warum dies für eine Anwendung gefährlich sein kann
Angenommen, ein Hacker besucht eine Online-Shopping-Site und fügt seinem virtuellen Einkaufswagen einen Artikel hinzu. Der Entwickler der Webanwendung, der den Einkaufswagen erstellt hat, hat den Einkaufswagen möglicherweise so codiert, dass er einen Wert vom Benutzer akzeptiert, wie z Menge = "1" und das Benutzeroberflächenelement auf ein Dropdown-Feld beschränkt, das vorbestimmte Auswahlen für die Menge enthält.
Ein Hacker könnte versuchen, die Manipulationsdaten zu verwenden, um die Beschränkungen der Dropdown-Liste zu umgehen, die Benutzern nur die Auswahl aus einem Satz von Werten wie 1, 2, 3, 4 und 5 ermöglichen. Mit Hilfe von Manipulationsdaten könnte der Hacker versuchen Um einen anderen Wert für "-1" oder ".000001" einzugeben.
Wenn der Entwickler seine Eingabevalidierungsroutine nicht ordnungsgemäß codiert hat, könnte dieser Wert "-1" oder ".000001" möglicherweise an die Formel übergeben werden, die zur Berechnung der Kosten des Artikels (z. B. Preis x Menge) verwendet wird. Dies kann zu unerwarteten Ergebnissen führen, je nachdem, wie viel Fehler geprüft werden und wie viel Vertrauen der Entwickler in die Daten hat, die von der Clientseite kommen. Wenn der Einkaufswagen schlecht codiert ist, erhält der Hacker möglicherweise einen unbeabsichtigten großen Rabatt, eine Erstattung für ein Produkt, das er nicht einmal gekauft hat, eine Gutschrift für ein Geschäft oder wer weiß, was sonst noch so ist.
Die Missbrauchsmöglichkeiten einer Webanwendung mit Tamper Data sind endlos. Wenn ich Softwareentwickler wäre, würde es mich abends wach halten, wenn ich wüsste, dass es Tools wie Tamper Data gibt.
Auf der anderen Seite ist Tamper Data ein hervorragendes Werkzeug für sicherheitsbewusste Anwendungsentwickler, damit sie sehen können, wie ihre Anwendungen auf clientseitige Datenmanipulationsangriffe reagieren.
Entwickler erstellen häufig "Use Cases", um sich darauf zu konzentrieren, wie ein Benutzer die Software zum Erreichen eines Ziels verwendet. Leider ignorieren sie oft den bösen Kerl-Faktor. App-Entwickler müssen ihre bösen Hüte anziehen und "Missbrauchsfälle" erstellen, um Hacker mithilfe von Tools wie Tamper Data Rechnung zu tragen.
Manipulationsdaten sollten Teil ihres Sicherheitstests sein, um sicherzustellen, dass clientseitige Eingaben überprüft und überprüft werden, bevor sie Transaktionen und serverseitige Prozesse beeinflussen können. Wenn Entwickler keine aktive Rolle bei der Verwendung von Tools wie Tamper Data spielen, um zu sehen, wie ihre Anwendungen auf Angriffe reagieren, wissen sie nicht, was sie zu erwarten haben, und zahlen möglicherweise die Rechnung für 60-Zoll-Plasma-TV, das der Hacker gerade gekauft hat für 99 Cent mit ihrem defekten Warenkorb.