Im vorherigen Artikel haben wir etwas über XSS- Fehler (Cross Site Scripting) und die tatsächliche Ausnutzung von XSS Reflected erfahren. Es gibt eine andere Art von XSS, die als gefährlicher gilt: Gespeichertes XSS.
Im Gegensatz zu Reflected, das direkt einige wenige Opfer angreift, die von Hackern angegriffen werden, zielt Stored XSS auf mehr Opfer ab. Dieser Fehler tritt auf, wenn die Webanwendung die Eingabedaten nicht gründlich überprüft, bevor sie in der Datenbank gespeichert wird (hier verwende ich dieses Konzept, um mich auf die Datenbank, Datei oder andere Bereiche zu beziehen, in denen Anwendungsdaten gespeichert sind. Web).
Bei der Stored-XSS-Technik können Hacker sie nicht direkt ausnutzen, sondern müssen dies in mindestens zwei Schritten tun.
Erstens nutzen Hacker ungefilterte Eingabepunkte (Formular, Eingabe, Textbereich...), um gefährlichen Code in die Datenbank einzufügen.

Wenn der Benutzer als Nächstes auf die Webanwendung zugreift und Vorgänge im Zusammenhang mit diesen gespeicherten Daten ausführt, wird der Hackercode im Browser des Benutzers ausgeführt.

Zu diesem Zeitpunkt scheint der Hacker sein Ziel erreicht zu haben. Aus diesem Grund wird die Stored-XSS-Technik auch als XSS zweiter Ordnung bezeichnet.
Das Ausnutzungsszenario wird wie folgt beschrieben:

Reflektiertes XSS und gespeichertes XSS weisen zwei wesentliche Unterschiede im Angriffsprozess auf.
- Um Reflected XSS auszunutzen, muss der Hacker zunächst das Opfer dazu verleiten, auf seine URL zuzugreifen. Bei gespeichertem XSS ist dies nicht erforderlich. Nachdem der Hacker den gefährlichen Code in die Datenbank der Anwendung eingefügt hat, muss er nur noch darauf warten, dass das Opfer automatisch darauf zugreift. Für die Opfer ist das völlig normal, denn sie wissen nicht, dass die Daten, auf die sie zugreifen, infiziert sind.
- Zweitens lässt sich das Ziel des Hackers leichter erreichen, wenn sich das Opfer zum Zeitpunkt des Angriffs noch in der Sitzung der Webanwendung befindet. Mit Reflected XSS kann ein Hacker das Opfer davon überzeugen oder dazu verleiten, sich anzumelden und auf die von ihm angegebene URL zuzugreifen, um Schadcode auszuführen. Gespeichertes XSS ist jedoch anders, da der Schadcode in der Webdatenbank gespeichert wurde. Wenn der Benutzer also auf entsprechende Funktionen zugreift, wird der Schadcode ausgeführt, und diese Funktionen erfordern höchstwahrscheinlich eine Authentifizierung. Melden Sie sich zuerst an, also offensichtlich während dieser Zeit Der Benutzer befindet sich noch in der Sitzung.
Daraus lässt sich erkennen, dass gespeichertes XSS viel gefährlicher ist als reflektiertes XSS. Die betroffenen Personen können alle Benutzer dieser Webanwendung sein. Und wenn das Opfer eine administrative Rolle innehat, besteht auch die Gefahr eines Web-Hijackings.