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

WWW-E-MAIL INTERFACES

Puisque les méthodes discutées dans cet article sont connues depuis longtemps des utilisateurs expérimentés, les vulnérabilités qui permettent de garantir 100% du piratage partout dans le monde sont éliminées, il vise principalement à familiariser les débutants avec les principes du Web-mail (et ses failles de sécurité).

Considérons personnellement le principe selon lequel une boîte aux lettres est piratée via le WWW. Nous possédons le serveur www.po4ta.ru aussi nous devons entrer dans la boîte aux lettres user@po4ta.ru . Nous enregistrons le compte sur ce serveur bluetooth test@po4ta.ru aussi l'occupation principale nous allons dans les paramètres de notre boîte nouvellement faite. Le plus intéressant pour nous est l'option "Changer le mot de passe" , dans laquelle il est proposé d'entrer un nouveau mot de passe, confirmez qu'il envoie également des données.

Changer mot de passe
Entrez le nouveau mot de passe:
Retaper l'entrée:


Le code d'une telle page HTML pourrait ressembler à ceci:

Ici, change_pass.php est un script de serveur qui prend les valeurs pass1, pass2 (mot de passe avec confirmation), aussi nom d'utilisateur (le contenu du champ caché qui indique quelle boîte le mot de passe est changé)
Si vous générez la requête GET correspondante, la ligne suivante est envoyée:
http://po4ta.ru/change_pass.php?username=test&pass1=NEW_PASSWORD&pass2 = NEW_PASSWORD

Maintenant, insérez ce lien dans la barre d'adresse de la fenêtre actuelle de notre navigateur, et envoyez également les données au serveur. En conséquence, nous obtenons un avis que le mot de passe dans la boîte test@po4ta.ru a été changé avec succès. Et si nous essayons de forger la valeur de la variable de nom d'utilisateur et également de changer le mot de passe sur la boîte qui nous intéresse. Nous envoyons:
http://po4ta.ru/change_pass.php?username= user & pass1 = NEW_PASSWORD & pass2 = NEW_PAROLE
Le serveur est susceptible de nous donner un message comme "Vous avez fait l'accès aux ressources qui nécessitent une authentification" également TP. Cela signifie que change_pass.php , qui traite les requêtes, a déterminé que les cookies écrits sur notre disque à la source de la session de travail avec le mail correspondent à l'utilisateur test@po4ta.ru , mais en aucun cas à user@po4ta.ru . En plus des cookies, l'identification de l'utilisateur peut être effectuée par adresse IP ou par une clé ID spéciale, qui sera décrite plus tard.

Ainsi, l'utilisateur est obligé d'envoyer la demande lui-même, à partir de la boîte user@po4ta.ru . "Forcer" l'utilisateur à le faire, vous pouvez lui envoyer un message avec le code JavaScript, lorsque vous inventez quelles données sont automatiquement envoyées au serveur avec son adresse IP également des cookies. Des exemples de ce code sont:

Ou par la méthode POST:

Toutes les variables sont définies dans des champs cachés, aussi lorsque l'utilisateur passe le curseur de la souris sur le corps de notre lettre, le gestionnaire d'événement OnMouseOver met à jour les données. Vous pouvez complètement masquer le processus de modification du mot de passe en mettant à jour le code:



MESSAGE TEXT


Une table de taille 1000x1000 étend la portée du gestionnaire onMouseOver, mais l'attribut cible de la balise de formulaire charge le résultat de la requête dans la trame zéro zeroFrame, maintenant le processus est complètement caché de l'œil de l'utilisateur.


C'est peut-être ainsi que le serveur de messagerie principal a travaillé avec la première interface WWW. À l'heure actuelle, il est impossible de faire une pause dans le savon de cette façon. Tout d'abord, sur la plupart des serveurs maintenant en changeant le mot de passe, avec un nouveau, il est proposé d'entrer le mot de passe ancien. Deuxièmement, il est difficile de trouver un serveur de messagerie, ce qui vous permet d'exécuter du JavaScript en lettres et également des fichiers joints.

Post-filtres

Ce sont des programmes qui sont sur le serveur, ils traitent les messages entrants, coupant ou modifiant le code contenant le danger potentiel en eux. Ainsi, par exemple script, plus tard le filtrage pourrait ressembler à Xscript ou à scripX. Le programme entier trouvé dans le conteneur de script dans ce cas ne sera pas interprété par le navigateur comme prévu. Le filtrage de contournement est autorisé, ou en recherchant des moyens documentés d'implémentation de notre code, non pris en compte par les développeurs du système postal, ou en le cachant, puis en mangeant le code dans un format modernisé, non reconnu pour le filtre.
Considérons d'autres façons de remplir la requête donnée dans l'exemple précédent.


Le résultat de la modification du paramètre est chargé dans un cadre invisible. Manière efficace, mais sur la plupart des services de messagerie est déjà couverte.



Au lieu de l'adresse de l'image, l'adresse de la configuration est chargée avec un changement de mot de passe. Cela ne fonctionne pas si l'utilisateur désactive les graphiques dans son navigateur. Convient bien sur la plupart des serveurs. Mais sur certains, à l'exemple www.rambler.ru , l'URL est téléchargée via une application spéciale de redirection / http: //po4ta.ru/change_pass.php? Username = utilisateur & pass1 = NEW_PASSWORD & pass2 = NEW_PAROLE




L'URL spécifiée est chargée après l'expiration du pore X (sec). Cette balise travaille actuellement sur www.hotbox.ru

Autres vulnérabilités

Explorer les paramètres des boîtes aux lettres sur différents serveurs de savon, en plus de changer le mot de passe sans confirmation, il est possible de trouver beaucoup plus d'inconvénients fondamentaux, en utilisant la boîte de quelqu'un d'autre, lire ou supprimer des messages, etc. Revenons à notre poste sur www.po4ta.ru . Nous obtenons l'option "Forwarding" . Nous sommes censés entrer une ou plusieurs adresses auxquelles des lettres seront envoyées.



Lorsque nous spécifions l' adresse de renvoi test1@po4ta.ru dans le champ des e - mails , nous confirmons également la modification des paramètres en cliquant sur le bouton "Enregistrer", la page sera chargée avec le nouveau formulaire:



Pour que les modifications prennent effet, vous devez entrer un code de confirmation, qui est envoyé par un message à test1@po4ta.ru . Ainsi, nous pouvons acquérir toute la correspondance entrante de l'utilisateur qui nous intéresse, si nous lui envoyons alternativement une paire de lettres HTML, dont la principale est une sorte de paramètre de transfert, mais dans l'autre, une confirmation avec un code spécial connu de nous. Ce schéma d '"écoute" de la boîte aux lettres de quelqu'un d'autre est quelque peu compliqué, mais de nombreuses versions du service postal qui ne nécessitent pas de mot de passe pour configurer la redirection des messages ont été conservées.

La prochaine lacune importante dans la politique de sécurité des services postaux est la modification de la tâche secrète, ainsi que les objections, si cette opération n'est pas protégée par une confirmation par mot de passe. Nous pouvons couper l'utilisateur de sa boîte aux lettres, en mettant à jour les données déjà connues des méthodes, mais ensuite, en utilisant le service de rappel de mot de passe pour définir votre mot de passe.

Plus souvent, en appuyant simplement sur un bouton, dans certains mailers, le compte utilisateur est supprimé. Un exemple typique est www.yandex.ru . Le mot de passe est demandé pour supprimer la boîte, mais le mot de passe n'est pas nécessaire pour supprimer le service de conjugaison - le site * .narod.ru. Elémentaire, il est permis de supprimer le site de la "victime" en utilisant sa boîte aux lettres en exécutant la requête: http://narod.yandex.ru/registration/unlogin.xhtml?DeleteLogin=%C4%E0 , qui est autorisé à se cacher dans la balise IMG.

La modification non autorisée d'autres paramètres représente également un risque significativement plus faible, mais peut affecter indirectement la capture de la boîte aux lettres
Modifier les informations personnelles (nom, etc.)
Modifier les informations de contact
Installer le filtre
Effacer le dossier XXXX
Envoyer un email en tant qu'utilisateur
Installer le collecteur POP3

ID-KEY

Dans la source de l'article, nous avons fait une réservation que dans certains cas, un identifiant symbolique est utilisé, quand il est possible de travailler avec le courrier, il est permis de regarder dans la barre d'adresse du navigateur:



L'introduction d'un tel système ne nous permet pas d'exécuter une requête standard, puisque l'ID est généré à chaque nouvelle entrée dans la boîte aux lettres, et détruit plus tard lorsque la session de travail est terminée en appuyant sur le bouton "Quitter". Toutefois, si la session se termine incorrectement, vous pouvez réutiliser l'identificateur.
C'est facile à vérifier en copiant l'adresse dans le presse-papiers, fermez la fenêtre et collez-la dans la barre d'adresse de la nouvelle fenêtre - nous sommes de retour dans notre boîte. Maintenant, si la clé IP n'est pas mappée à une adresse IP (autre type de protection), il est possible de pénétrer dans le cercueil d'un autre utilisateur, pour cela il suffit d'intercepter le champ de localisation en introduisant dans le message les balises html-sniffer , à son tour, enregistre la variable HTTP_REFERER dans un fichier spécial. La manière la plus ingénieuse, comme d'habitude, est de spécifier l'adresse du renifleur en échange de la prétendue photo:



Fichier journal - http://zero.h12.ru/stat/base.txt
Quelques adresses d'autres sniffers mangent sur ce site. Dans la classe elle-même, en écrivant un script qui suit l'adresse à laquelle une demande est reçue, une session de cinq minutes, il est beaucoup plus difficile de trouver l'hébergement pour l'héberger. Un exemple d'un tel script sur php:



Ensuite, considérez la situation à quel moment un identifiant alien pour nous est inutile en raison du fait qu'il est mis en conformité avec l'adresse IP de l'utilisateur. Revenons au système à quelle heure l'utilisateur lui-même, avec son IP, change les paramètres de la boîte, ouvrant notre lettre. Supposons que nous mangions cette option Bloquer tout le courrier entrant , nous aimerions également l'inclure dans la boîte de quelqu'un.



L'identifiant est transmis dans le champ caché "id", alors maintenant, afin de changer les paramètres, vous devez l'obtenir en temps réel aussi pour le remplacer. La première chose qui vient à l'esprit est JavaScript. Pour y manger un objet de localisation spécialisé, il contient également l'URL de l'acte actif. Pour obtenir notre identifiant à partir du champ d' emplacement , utilisez la fonction substr () .



Directement substr () avec l'emplacement ne fonctionne pas, donc nous lui ajoutons le symbole #, l'assignons à une variable, mais ensuite nous entrons le résultat du calcul dans une autre variable, puis la clé d'identification est coupée. Arguments substr (): x-position de la source de la chaîne, x1-position de x. Dans la ligne http://www.newpochta.ru/session?id=a349f8d7be67c90af8873fc7ad803cf5&folder=inbox l' identifiant commence à partir de la 36ème position et a aussi 32 symboles, donc les arguments prennent la forme substr (36, 32);

Un autre moyen d'obtenir l'ID est d'utiliser le script sur votre hôte. Nous écrivons dans le fichier:




Encore une fois à propos des filtres

Si les interfaces web avec authentification par cookie nous envoyaient des requêtes standard pour modifier les paramètres, nous pouvions aussi utiliser des balises HTML simples, puis utiliser des clés ID, la nécessité directe d'introduire du code JavaScript commence par mail, mais les développeurs de serveurs de mail recoupent cette possibilité avec des filtres, à propos d'eux, il a été parlé ci-dessus. Parlons maintenant des moyens de vendre ces filtres. Tirez parti des méthodes habituelles que les programmeurs négligent souvent:



En fait, JS "cache" dans les valeurs des attributs des balises qui fonctionnent avec l'URL et est également généré dynamiquement lorsque l'adresse spécifiée est chargée.

Parfois, le filtre est autorisé à tricher, cachant un peu le système de code malicieux, donc www.mail.ru à l' intérieur de n'importe quelle balise est autorisé à implémenter le gestionnaire d'événements JS. En mode nominal, la chaîne



Mais si vous supprimez l'espace entre la valeur de l'attribut et le gestionnaire, le filtre ignorera une telle construction:



La faille de cette méthode est que, dans une certaine mesure, il y a une liaison à un certain navigateur, parce que parfois il leur est particulier d'interpréter le code HTML différemment.
Le prochain point important est de savoir comment envoyer la lettre. Si vous attachez un fichier html, l'intégrité du message restera dans la pièce jointe, mais dans le corps du message, les paramètres souhaités ne seront pas affichés. Par conséquent, il est opportun d'envoyer au format HTML. Cette fonction est supportée par certaines interfaces WWW également par les programmes de messagerie POP3. Dans le gestionnaire de messages, l'icône du fichier joint ne se déplace pas près du message.

CONCLUSIONS RÉSULTATS

Donc, ayant fixé l'objectif de pénétrer dans une boîte aux lettres alien, tout d'abord vous devez enquêter sur le système de la présence de vulnérabilités. Parfois, les programmeurs permettent des erreurs significatives dans l'écriture des scripts. Environ chaque service a pour fonction de renouveler les mots de passe oubliés. Habituellement sur la première page vous entrez un login, pour une autre objection à une tâche secrète, mais sur la troisième, si la réponse est correcte - changez le mot de passe. Par exemple, nous avons répondu correctement pour une tâche secrète, une nouvelle page avec un formulaire de changement de mot de passe a été générée, mais quand nous avons regardé le HTML de cette page, nous avons découvert que la reconnaissance de l'utilisateur se fait sur une variable dans le champ "nom d'utilisateur", à savoir, substituer un autre nom d'utilisateur, changer le mot de passe dans la boîte de quelqu'un d'autre. Soit une telle variation: en contrepartie d'une objection correcte, un identifiant similaire à celui utilisé lors de la session de travail avec le mail est émis. Peut-être, ayant reçu la clé d'identification actuelle en la remplaçant par des champs cachés, le serveur acceptera les nouveaux paramètres. Je pense qu'il est absurde d'être tenté par de telles omissions, parce que cela est strictement suivi et que des erreurs similaires ne se répètent pas. Par conséquent, nous rechercherons les vulnérabilités dans le principe même de l'organisation du service.

Si vous regardez de près le web-mail sur www.newmail.ru (nm.ru, pochta.ru, orc.ru, nightmail.ru, hotmail.ru) , alors il y a de telles lacunes une fois là. Revenons à l'option de renouvellement du mot de passe. Il est suggéré de répondre à la tâche secrète, également si la réponse est sans erreur - le mot de passe est envoyé à l'adresse e-mail spécifiée dans les paramètres. Et bien que la réponse soit aussi e-mail sont dans des pages différentes à l'intérieur du mail, il semble possible de changer aussi l'autre, plus le filtre ne coupe même pas le JavaScript. En plus de tous quand le mot de passe est repris, un autre formulaire est sorti, il doit entrer car plus de données sont autorisées (elles sont si bien dans les paramètres de la boîte) et l'envoyer à la règle. Comment pré-affecter des données au bon utilisateur est déjà connu.

Naturellement, dans la plupart des postiers, tout est bloqué, mais des failles existent toujours. Et s'il y a un grand intérêt ou un besoin de pénétration dans la boîte utilisateur, si nous obtenons plus d'informations à son sujet et développons une sorte de schéma "stratégique" à partir des méthodes présentées dans cet article, nous pouvons obtenir de bons résultats.
Voici de vrais exemples. Un attaquant souhaite obtenir un mot de passe d'un service spécifique que la "victime" utilise (pas nécessairement un service de messagerie, par exemple d'hébergement). En même temps, il sait de manière fiable que le mot de passe oublié est envoyé à user@pisem.net. Il envoie un message à cette boîte de bénédiction avec des balises html:





Une fois le compte supprimé, il en enregistre un nouveau, avec ce nom également un mot de passe.

L'occasion de pénétrer avec un tel but également au compte sur mail.ru a été préservée. Annuler les paramètres de sécurité avec un message



Maintenant, à chaque appel suivant, l'utilisateur reçoit une clé d'identification, et l'adresse IP n'est pas prise en compte, cependant, comme déjà discuté, si vous l'interceptez en utilisant un renifleur, il n'est pas difficile d'être dedans pour lire la lettre nécessaire.

En conclusion, une fois de plus je noterai que les informations présentées ici sont connues depuis longtemps par des utilisateurs plus ou moins alphabétisés, et toutes les bonnes approches pour hacker la boîte via html, à mon avis aliéner aujourd'hui plus de résultats que BrutFors ou ingénierie sociale. Vous avez seulement besoin de trouver une pièce faible et aussi un moyen de l'utiliser.