Persistent XSS (Prime)

Was bedeutet Persistent XSS (Prime)?

Bei Persistent XSS (Prime) neutralisiert die Software die vom Benutzer kontrollierbaren Eingaben nicht oder falsch, bevor sie in eine Ausgabe eingef├╝gt werden, die als Webseite f├╝r andere Benutzer verwendet wird.

XSS-Schwachstellen (Cross-Site Scripting) treten auf, wenn:

Nicht vertrauensw├╝rdige Daten werden normalerweise aus einer Webanforderung in eine Webanwendung eingegeben.
Die Webanwendung generiert dynamisch eine Webseite, die diese nicht vertrauensw├╝rdigen Daten enth├Ąlt.
W├Ąhrend der Seitengenerierung verhindert die Anwendung nicht, dass die Daten Inhalte enthalten, die von einem Webbrowser ausgef├╝hrt werden k├Ânnen, z.B. JavaScript, HTML-Tags, HTML-Attribute, Mausereignisse, Flash, ActiveX usw.
Ein Opfer besucht die generierte Webseite ├╝ber einen Webbrowser, der sch├Ądliche Skripts enth├Ąlt, die mit den nicht vertrauensw├╝rdigen Daten eingef├╝gt wurden.
Da das Skript von einer Webseite stammt, die vom Webserver gesendet wurde, f├╝hrt der Webbrowser des Opfers das sch├Ądliche Skript im Kontext der Dom├Ąne des Webservers aus.
Dies verst├Â├čt effektiv gegen die Absicht der Web-Browser-Richtlinie “Same Origin”, die besagt, dass Skripts in einer Dom├Ąne nicht auf Ressourcen zugreifen oder Code in einer anderen Dom├Ąne ausf├╝hren d├╝rfen.

 

Sobald das sch├Ądliche Skript injiziert ist, kann der Angreifer verschiedene sch├Ądliche Aktivit├Ąten ausf├╝hren. Der Angreifer kann private Informationen, wie z.B. Cookies, die Sitzungsinformationen enthalten, vom Computer des Opfers an den Angreifer ├╝bertragen. Der Angreifer kann im Namen des Opfers b├Âswillige Anfragen an eine Website senden. Dies kann besonders gef├Ąhrlich f├╝r die Website sein, wenn das Opfer ├╝ber Administratorrechte zur Verwaltung dieser Website verf├╝gt. Phishing-Angriffe k├Ânnen verwendet werden, um vertrauensw├╝rdige Websites zu emulieren und das Opfer dazu zu bewegen, ein Kennwort einzugeben, wodurch der Angreifer das Konto des Opfers auf dieser Website gef├Ąhrden kann. Schlie├člich k├Ânnte das Skript eine Sicherheitsanf├Ąlligkeit im Webbrowser ausnutzen, die m├Âglicherweise den Computer des Opfers ├╝bernimmt, der manchmal als “Drive-by-Hacking” bezeichnet wird.

Tipp

├ťberpr├╝fen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.

L├Âsung

Dieser Scanner beginnt mit der ├ťbermittlung eines eindeutigen ‘sicheren’ Werts und durchsucht dann die gesamte Anwendung nach allen Positionen, an denen dieser Wert vorkommt. Anschlie├čend wird eine Reihe von Angriffen auf die gleiche Weise wie bei der ‘reflektierten’ Version ausgef├╝hrt. In diesem Fall werden jedoch alle Zielpositionen auf anderen Seiten ├╝berpr├╝ft.

Hinweis:┬áDieser Scanner scannt nur HTTP-PUT-Anforderungen bei LOW-Grenzen. Wenn sich eine XSS-Injektion in einer JSON-Antwort befindet, wird ein LOW-Risiko und ein LOW-Vertrauensalarm ausgel├Âst.

Verstehen Sie den Kontext, in dem Ihre Daten verwendet werden, und die zu erwartende Kodierung. Dies ist besonders wichtig, wenn Daten zwischen verschiedenen Komponenten ├╝bertragen werden oder wenn Ausgaben generiert werden, die mehrere Kodierungen gleichzeitig enthalten k├Ânnen, z. B. Webseiten oder mehrteilige E-Mail-Nachrichten. Untersuchen Sie alle erwarteten Kommunikationsprotokolle und Datendarstellungen, um die erforderlichen Kodierungsstrategien zu bestimmen.
Verwenden Sie f├╝r alle Daten, die auf einer anderen Webseite ausgegeben werden, insbesondere f├╝r Daten, die von externen Eingaben empfangen wurden, die entsprechende Kodierung f├╝r alle nicht-alphanumerischen Zeichen.

F├╝r Teile des gleichen Ausgabedokuments sind m├Âglicherweise andere Kodierungen erforderlich, die davon abh├Ąngen, ob die Ausgabe in folgendem Format vorliegt:

  • HTML-Text
  • Elementattribute (z. B. src = “XYZ”)
  • URIs
  • JavaScript-Abschnitte
  • Cascading Style Sheets und Style-Eigenschaft
  • etc.

Beachten Sie, dass die HTML-Entity-Codierung nur f├╝r den HTML-Body geeignet ist.

Andere Informationen

In vielen F├Ąllen kann der Angriff gestartet werden, ohne dass das Opfer sich dessen bewusst ist. Selbst bei vorsichtigen Benutzern verwenden Angreifer h├Ąufig verschiedene Methoden, um den b├Âswilligen Teil des Angriffs zu kodieren, beispielsweise die URL-Kodierung oder Unicode, sodass die Anforderung weniger verd├Ąchtig erscheint.

Allgemeiner Schwachstellen-Datenbanklink

Weitere Informationen bez├╝glich des Themas finden Sie hier im Link.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte