Es gibt viele verschiedene Computerangriffe, denen wir ausgesetzt sind. In diesem Tutorial werden wir über die Cross-Site-Scripting (XSS)-Cyberangriff. Dieser Angriff besteht darin, unerwünschten Code in Webanwendungen einzuschleusen. Damit kann ein Angreifer das Verhalten der Anwendung ändern, wodurch Daten beschädigt, Informationen verloren, Dienste (DoS) verweigert werden usw.
Ein Angreifer könnte beispielsweise eine anfällige Webseite dazu veranlassen, den Datenverkehr auf seinen eigenen umzuleiten, was sowohl für den Eigentümer der Seite als auch für die Benutzer schlimme Folgen haben könnte.
Welche Folgen könnte dies haben?
Abwechslungsreich und gravierend, aber stellen Sie sich vor, dass Facebook eine solche Schwachstelle hat, der Angreifer nutzt sie aus und durch die Fälschung der Originalseite entsteht ein Klon dieser Seite und emuliert damit Facebook. Benutzer melden sich an und der Angreifer behält ihre Anmeldeinformationen und leitet sie dann einfach auf die offizielle Seite weiter, sodass der Benutzer selten davon erfährt.
Wo können wir überprüfen, ob eine Website angreifbar ist?
Sie können dies auf viele Arten tun, aber die häufigste ist in Foren oder Orten, an denen Kommentare im Falle eines anhaltenden Angriffs zugelassen werden, oder in den URLs im Fall eines nicht dauerhaften Angriffs.
Was ist die Ursache dieser Schwachstelle?
Weil die Seiten die Dateneingaben der Benutzer nicht korrekt verifizieren und auch die Ausgabe nicht kodiert ist. Wenn Sie also einer Webseite immer misstrauen, die ihre Daten validiert, bringen Programmiersprachen bereits Funktionen mit, die zum Beispiel die Funktion ermöglichen strip_tag PHP entfernt die HTML-Tags (aber sehen Sie sich die Vorbehalte an).
XSS-AngriffstypenNicht persistenter oder gespiegelter TypBei diesem Angriff wird dem Opfer eine manipulierte URL zur Verfügung gestellt, die als Parameter den einzuschleusenden Code enthält.
Persistenter oder direkter TypDie vom Benutzer eingegebenen Daten werden auf dem Server gespeichert und betreffen alle Benutzer, die sich mit dem Internet verbinden.
Wir werden Beispiele sehen, wie der Angriff von nun an durchgeführt werden würde.
NotizDas Ziel des Tutorials besteht darin, dass Sie die von Ihnen erstellten Webanwendungen oder die der Personen, die Ihnen die Erlaubnis erteilen, testen können, nicht, um "bösartige" Handlungen durchzuführen.
1. Beispiel für nicht persistentes XSS
Wir möchten eine Person auf eine von uns kontrollierte Seite umleiten, aber sie glauben machen, dass sie die Originalseite besucht, können wir ihnen eine E-Mail mit dem gekürzten Link (oder nicht) senden, der den folgenden Inhalt hat:
http://www.paginadeseada.com/?search=An diesem Beispiel wird deutlich, wie einfach es ist, eine solche Schwachstelle auszunutzen.
2. Beispiel für persistentes XSS
In einen Kommentar können wir einen HTML- oder JavaScript-Code einfügen, der auf dem Server gespeichert wird und bei jedem Laden der Seite mit dem Kommentar auf unsere Webseite umleitet, für dieses Beispiel kann folgender HTML-Code eingefügt werden:
Wir wenden uns einem anderen Beispiel zu als den, die wir jetzt gesehen haben. Jetzt werden wir Beispiele sehen, die DVWA verwenden, eine Webanwendung, die mit PHP und MySQL entwickelt wurde. Diese Anwendung ist bereits in Metasploitable 2 enthalten, das Sie in eine virtuelle Maschine einbinden können.
Es ermöglicht uns, verschiedene Webangriffe zu testen, und wir können den Sicherheitsgrad ändern (für die Beispiele verwenden wir den niedrigen), wir können auch die angegriffenen PHP-Codes sehen, damit Sie sehen können, was nicht in Ihren Codes zu verwenden.
3. Beispiele XSS reflektiert DVWA
In diesem Abschnitt werden wir mehrere Beispiele sehen, fangen wir an. Wenn wir einen normalen Namen eingeben, dasselbe Prüfen, die Anwendung funktioniert gut, sehen wir uns das Bild an:
VERGRÖSSERN
Wenn wir folgenden Code als Namen eingeben:
PrüfenWir sehen, dass der Name fett wird (vielleicht wird er im Bild nicht sehr geschätzt):
VERGRÖSSERN
Und wenn wir eine Eingabe machen, wird es funktionieren? Um es zu testen, fügen wir folgenden Code ein:
Und wir sehen im folgenden Bild, dass es funktioniert hat:
VERGRÖSSERN
Lass uns weitergehen zu XSS gespeichert (gelagert).
4. Beispiele für gespeicherte XSS-DVWA
Wir werden mehrere Proofs of Concept durchführen, das erste, was wir tun werden, ist einen kurzen Text mit einem Skript als Kommentar einzufügen, mal sehen, was passiert, das Skript ist so einfach wie möglich, es ist Folgendes:
Hallo und auf Wiedersehen.
VERGRÖSSERN
Wenn wir es wie auf dem vorherigen Foto eingeben, klicken wir auf Gästebuch unterschreiben, der Kommentar wird gesendet, es passiert nichts Seltsames, die Textzeichenfolge wird angezeigt, es gibt keine Anzeichen des Skripts, wie wir unten sehen können:
VERGRÖSSERN
Also ist nichts passiert? Nun, lass es uns überprüfen, die Seite aktualisieren und wir sehen, dass die Warnung springt:
VERGRÖSSERN
Sie können auch verstehen, dass der Kommentar nur Hallo enthält, deshalb wurde das Skript zwischen den Text eingefügt, damit Sie sehen können, dass es gelesen wird, es stoppt bei der Warnung und wenn Sie auf OK klicken, haben Sie den Rest des Textes und der Rest der Seite fehlte (ebenso wie die grünen Links, die sich unter dem Kommentarteil befanden).
Jetzt fügen wir ein Formular in den Kommentar ein, Sie sehen, dass die Anzahl der Zeichen, die man eingeben kann, auf 50 begrenzt ist, da wir den HTML-Code des Textbereichs des Kommentars untersuchen (Rechtsklick, Inspizieren):
VERGRÖSSERN
Wir sehen maximale Länge = ”50”, wir fügen am Ende eine 0 hinzu und verbleiben in 500, wie wir unten sehen:
VERGRÖSSERN
Und jetzt kommentieren wir den folgenden HTML-Code:
Schreibe Deinen Namen:Wir sehen, dass er es bereits akzeptiert, also geben wir zu Gästebuch eintragen und wir sehen folgendes:
VERGRÖSSERN
Das Formular wurde, wie von uns verifiziert, eingefügt. Wenn Sie schließlich mit dem mittleren Niveau in gespeichertem XSS üben möchten, versuchen Sie Folgendes:
1. Ändern Sie wie zuvor die maximale Anzahl von Zeichen, die das Feld Name akzeptiert.
2. Fügen Sie den folgenden Namen hinzu:
Prüfen
3. Als Kommentar schreiben Sie, was Sie wollen.
4. Senden Sie den Kommentar und aktualisieren Sie den Bildschirm, Sie werden sehen, dass er gespeichert ist.
Wenn Sie das Cookie entfernen möchten, würde ich das Skript für Folgendes ändern:
Sie werden Folgendes sehen:
Als nächstes lasse ich den Link zu einem Framework namens XSSer, das uns dabei helfen wird XSS-Schwachstellen erkennen, ausnutzen und melden.
Auf seiner Seite kommt es wie es installiert ist (in Kali Linux 2016 kommt es bereits) und Anwendungsbeispiele.
Wir haben die Möglichkeiten gesehen, die ein Angreifer hat, wenn er mit einer anfälligen Webseite konfrontiert wird. diese Angriffe zu vermeiden ist nicht schwerHeute haben wir in jeder Programmiersprache Funktionen, die unser Leben einfacher machen. Es ist wichtig, dass Sie diese Fehler vor dem Starten einer Webseite überprüfen, da dies Ihr Geschäft ruinieren kann.
Wenn Sie ein Tutorial sehen möchten, in dem diese Anwendung verwendet wird, aber andere Arten von Angriffen ausgeführt werden: Pentesting mit DVWA.
Schließlich wird ein Link bereitgestellt, falls Sie eine andere Art von Angriff sehen möchten, die sich auch mit dem Einschleusen von Code befasst: SQL-Injection.
Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben