• Cross-Site-Scripting FAQ
    Cross-Site-Scripting(XSS) ist eine sehr häufige Sicherheitslücke in den CMSystemen.
    Es wird durch eine nicht ausreichende Filterung des Get-Parameters, der Suchmaschine oder einer PostFunktion JavaScript oder HTML Code eingeschleust.
    Sobald eine Lücke ausnutzbar ist, kann der Angreifer Links preparieren, die, wenn die HTML oder JS Codes ausgeführt werden, den Cookie des Opfers auslesen.
    Man kann durch HTML Code Einschleusung auch die Seite verändern(defacen).
    XSS Lücken sind eine eher nicht so gefährliche Sicherheitslücke.
    Es gibt von XSS noch Abwanderungen, auf die ich nicht eingehen werde...



    XSS Angriffszenario
    Ich habe eine Website zB http://www.XSSOpfer.com/.
    Als erstes gehe ich auf die Suche nach einer Suchmaschine. Wenn ich eine gefunden habe teste ich, ob HTML Code eingeschleust werden kann. Also gebe ich testweise <u>test</u> ein und suche...
    Wenn dann da steht: Ihre Suche nach "test" ergab 11 Treffer, ist es möglich auf der Website HTML einzuschleusen, wer etwas Ahnung von HTML hat, weiss was man damit anstellen kann.


    Als nächstes versuche ich JavaScript Code einzuschleusen. Ich gebe in die Suchleiste <script>alert(1)</script> ein und suche...
    Wenn jetzt ein PopUp mit dem Inhalt "1" erscheint, ist die Seite anfällig...
    Jetzt seht ihr oben die URL, die zB so aussieht: http://www.XSSOpfer.com/search…ert%281%29%3C%2Fscript%3E.
    Mit diesen Grundlagen, und ein wenig HTML, JavaScript und Php Kenntnissen, kann man einen Cookie Stealer machen...
    Wer sich dafür interessiert soll warten, denn ich werde bald ein Tutorial über XSS machen, wer nicht warten will, guckt sich das Tutorial von Gumball an!



    Tag Breaking
    Wenn eine JavaScript Einschleusung bei euch nicht klappt, versucht mal einen TagBreak...
    Gebt in die Suchmaschine "XSS" ein, öffnet den Quelltext der Page und sucht nach "XSS".
    Ihr habt da jetzt zB sowas: <title> "XSS" Suche ergab 0 Treffer! </title>
    So jetzt gebt ihr in die Suchmaschine "</title><script>alert(1)</script>" ein und sucht.
    Wenn es jetzt klappt, habt ihr erfolgreich einen Tag gebrochen...
    Wenn es jetzt zB ein <a href=...</a> Tag ist, dann verwendet ihr zum TagBreaken? - Genau! </a>



    Was gibt es noch für Methoden um XSS ausführen zu lassen?
    Dafür müsst ihr euch bewusst sein, wie XSS funktioniert.
    XSS ist nichts anderes als Code einschleusen.
    Wie wird der Code ausgeführt? - Ein alert Befehl von JS wird in die Suchmaschine eingegeben und somit in der WebSite eingearbeitet, und damit wie jeder Code ausgeführt.
    Im Prinzip kann man alle Möglichkeiten nutzen, JS auszuführen mit onmouseclick, onmouseover, script....
    Lernt ein wenig JavaScript und HTML, dann könnt ihr im Prinzip fast jedem Filter umgehen.



    XSS Sicherheit
    Nein könnt ihr nicht! Es gibt eine sehr sichere Methode, um sich vor XSS zu schützen...
    Die Filter: HTMLentities und HTMLspecialchars
    Wer sich also gut vor XSS Attacken schützen will, sollte diese 2 Funktionen schon einbauen, und sich die Zeit nehmen.