Même les ressources Web d'organisations bien connues ne sont pas protégées contre les erreurs des enfants.

Clause de non-responsabilité. Tous les événements ont eu lieu en 2017. Toutes les vulnérabilités spécifiées dans l'article ont été signalées aux représentants de l'entreprise dès que possible dès leur découverte. Certaines ressources, pour 2019, ont été complètement mises à jour (frontend et backend).
L'article est de nature purement informative et pédagogique.

En parcourant les anciens dossiers, je suis tombé sur les captures d'écran enregistrées que j'ai faites pour les représentants de quelques sociétés notoires sur notre marché financier-informatique.
Tout a commencé avec le fait que j'ai décidé de changer mon profil de travail et de m'essayer dans un QA ou une profession apparentée, mais pas en tant que solitaire autodidacte, mais de le faire avec le personnel d'une grande organisation, de sorte que j'avais quelqu'un à apprendre, travailler en équipe ...

Après avoir posté le CV, Sberbank Technologies, la Bank of Discovery à propos de laquelle va se dérouler une petite histoire, m'a croisé.

Après l'invitation à chatter, j'ai décidé de voir ce qui vit sur les domaines des entreprises pour des vulnérabilités intéressantes. C'est toujours agréable d'avoir un atout dans la manche lors des négociations.

Sberbank


La Sberbank est principalement associée à la Russie, mais elle possède des succursales dans d'autres pays. J'ai donc décidé de prendre le chemin «simple». Presque après quelques tentatives, deux vulnérabilités passives XSS ont été trouvées dans l'interface Web de la Sberbank biélorusse .

La première erreur des enfants est de ne pas vérifier les données entrantes de l'utilisateur. En conséquence, des scripts intersites dans le champ de recherche et le formulaire de connexion pour Sberbank Online.





Un autre point du formulaire de connexion Sberbank Online est que bien que le formulaire transmette des valeurs via POST, les scripts sur le serveur Web ont traité avec succès ma demande GET.

J'ai également décidé de regarder le domaine à partir duquel HR Sberbank m'a écrit. Il s'est avéré qu'il s'agissait du portail «Sberbank Talents».

Après avoir tourmenté différents formulaires et champs cachés, je n'ai rien obtenu de bon, sauf que le portail tourne sur ASP.NET.

Après avoir réexaminé la source de la page HTML principale, j'ai remarqué que tous les fichiers JS et CSS sont fournis via un script qui combine et compresse les fichiers spécifiés dans la demande GET.

La deuxième erreur des enfants n'est pas de limiter la liste des fichiers / répertoires téléchargeables du serveur à la liste blanche.





En conséquence, j'ai eu accès au fichier de configuration du serveur Web. Et aussi, dans un fichier journal plus intéressant, où les mots de passe de SQL et d'autres services étaient indiqués, ainsi que les jetons d'API actuels pour la publication sur les réseaux sociaux.



Découverte


Ici, j'ai également décidé de ne pas perdre de temps sur le portail principal, mais de regarder immédiatement à laquelle de mes ressources Web la banque se connecte. Le «Career Portal of Otkritie Bank» est devenu un sujet, par une analogie aléatoire avec Sberbank.

Il s'est avéré que le portail fonctionne sur CMS Bitrix. En règle générale, les gros moteurs commerciaux ou les moteurs open source ne contiennent pas d'erreurs enfants, mais ...

Ok Google, comment accéder au panneau d'administration Bitrix?

La troisième erreur des enfants est de ne pas fermer la liste des répertoires sur le serveur.

En principe, tout est clair - Apache a été configuré pour que les répertoires sans fichiers d'index affichent leur contenu. Ce n'est pas un problème très critique, sinon pour une combinaison fatidique de circonstances. Sur le portail carrière, vous pouvez télécharger vos coordonnées et votre fichier CV. Quelques minutes et je regarde déjà la liste du répertoire avec les données des candidats.





Tout cela est intéressant, mais pas le panneau d'administration. Par conséquent, nous parcourons tous les dossiers dans l'espoir de trouver quelque chose.
Pas une erreur d'enfance - le facteur humain. Je ne sais pas comment, et surtout pourquoi, mais dans l'un des répertoires contenant des fichiers PDF / RTF / DOC, il y avait un fichier sans extension, qui était un script PHP.



Grâce à ce fichier, un nouveau vecteur de recherche a été obtenu - le dossier / estaff /, où les journaux pour ajouter / supprimer les postes vacants avec une paire nom d'utilisateur / mot de passe, les scripts de module, ainsi que dans l'un des fichiers, les détails qui ont approché le panneau d'administration Bitrix ont été affichés.





Maintenant, Sharik, vous courrez après lui pendant une autre demi-journée - pour donner des photos ...

Malheureusement, pour moi, cette histoire s'est terminée sans une fin heureuse. Tout d'abord, j'ai dû chercher un vrai représentant de la banque lié à l'informatique depuis longtemps. La première ligne de soutien aux banques (ainsi qu'aux RH elles-mêmes), en principe, n'a pas compris le problème, qui est attendu, mais n'a pas pu transmettre ces données à des collègues des services nécessaires.

La solution a été LinkedIn et l'envoi de messages personnels aux chefs de différents départements, du moins en quelque sorte liés à l'infrastructure informatique.

Deuxièmement, les deux banques n'ont pas de programme Bug Bounty, par conséquent, tout était limité à un «merci» concis.

Et troisièmement, les RH des deux banques n'ont pas pris en considération mon curriculum vitae, invoquant un manque d'expérience.

Source: https://habr.com/ru/post/fr454252/


All Articles