Système de fidélité ou comment vivre gratuitement

Bonjour, Habrovsk. Dans le cadre de la grande panique du dernier article, je vous présente la deuxième version. Tout est simple, sans morve. Le système de fidélité est un gros trou. Après quelques expériences, nous sommes arrivés à la conclusion qu'un grand nombre de sites où un tel système est utilisé sont totalement dépourvus de logique lorsqu'ils tentent de l'utiliser.

image

Bien sûr, quelqu'un a pu mettre en œuvre au moins une protection simple, mais, mais quelqu'un imagine Internet sous cette forme:

image

En général, de nombreuses attaques de pirates se produisent presque sous cette forme. Ce n'est que dans les films qu'ils vous montreront un tas de gadgets du futur, dont la fonctionnalité n'a pas de sens dans le présent.

Passons aux choses sérieuses. Pour un exemple, je prendrai quelques systèmes où il peut y avoir un karzh de masse.

Commençons par l' OBI .

Je dirai tout de suite que pour moi cela a été peu étudié. Leurs règles vagues sur l'utilisation des bonus me mettent dans des doutes différents. Premièrement, ils ont plusieurs programmes de bonus. Pour l'un d'eux, vous ne pouvez payer que dans trois villes de Russie, pour l'autre - en tout. Dans le même temps, les bonus ne s'appliquent pas à tous, mais seulement jusqu'à 50% de la valeur des marchandises. Mais construire une maison à moitié prix, c'est déjà bien.

En général, OBI a également une application où vous pouvez vous connecter à notre carte et payer en générant un code à barres.

Accédez à la page d'inscription avec une légère touche de baguette magique:

image

Nous arrivons au formulaire d'inscription de pas notre carte:

image

Eh bien, remplis-le. Au fait, ici, le système de calcul des cartes est le même que dans le "Carrefour". Pour être clair - Algorithme Moon . J'ai rempli toutes les données, indiqué un numéro de carte aléatoire. Au cours du processus, j'ai intercepté une demande d'enregistrement via un renifleur.
Répété plusieurs centaines de fois dans un cycle. Il n'y a eu aucune erreur. Le site a traité mes demandes assez efficacement et a renvoyé une réponse en json:

"data":{"registration":null},"errors":[{"message":"\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0444\u043e\u0440\u043c\u044b.","type":"validation","locations":{"path":"\/work\/obiclub.ru\/app\/GraphQL\/Mutation\/Frontend\/RegistrationMutation.php","line":109},"safe":true,"validation":{"cardnum":["\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043a\u0430\u0440\u0442\u044b. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445."]}}]}

Dans la variable cardnum était le texte suivant, qui est traduit du grec Unicode -
«Mauvais numéro de carte. Vérifiez l'exactitude des données saisies »

Il est intéressant de noter que pour toutes mes demandes d'une adresse IP, il n'y a pas eu de blocage. De plus, la session dure très longtemps. J'ai vérifié après une journée - la réponse était. Pourrait au moins réinitialiser les cookies, entrer le captcha, puis un solide "facepalm". L'écriture de logiciels n'est pas difficile, seulement elle relèvera
Royaume-Uni. RF Article 273 , et c'est déjà dangereux!

Eh bien, nous avons construit une maison. Nous devons faire le plein de notre voiture et faire le tour de la ville. Je pourrais donner un exemple ici avec les stations-service les plus populaires, mais compte tenu de certaines considérations, je ne le ferai pas. Tout le monde a un système, mais l'approche est différente, je vais donc le démontrer à la station-service la plus simple et la moins connue.

AZS-ETALON.RU . Cela a attiré mon attention sur ce qui se trouve dans ma ville. Le principe de fonctionnement est similaire - il existe une carte de fidélité; il y a un site où nous enregistrons une carte; Il y a une demande par autorisation dans laquelle vous pouvez payer à la caisse. Eh bien, c'est généralement drôle.

Accédez au formulaire d'enregistrement de carte - lk.azs-etalon.ru/registration.php

image

Remplissez toutes les données, cliquez sur "Hack" "Register". Nous obtenons la réponse
"Numéro de carte invalide"
ce qui signifie que nous entrerons le numéro suivant sur le compte et ainsi de suite jusqu'à ce que nous trouvions du carburant gratuit pour notre ami à quatre roues.

- Automatiser?
- Facile.

Nous attrapons le colis pour l'inscription. Nous obtenons ce qui suit

EN-TÊTES HTTP:

Cap de spoiler
Hôte: lk.azs-etalon.ru
User-Agent: Mozilla / 5.0 (Windows NT 6.3; WOW64; rv: 41.0) Gecko / 20100101 Firefox / 41.0
Accepter: * / *
Accept-Language: ru-RU, ru; q = 0,8, en-US; q = 0,5, en; q = 0,3
Accept-Encoding: gzip, dégonfler
Type de contenu: application / x-www-form-urlencoded; charset = utf-8
X-Requested-With: XMLHttpRequest
Référent : lk.azs-etalon.ru/registration.php
Longueur du contenu: 174
Cookie: _ym_uid = 10265171001178589; _ym_d = 1214095619; _ym_visorc191282814 = w; _ym_isad = 2; PHPSESSID = u0vp19oks8iman1hi8m8j1n105
Connexion: garder en vie
Pragma: pas de cache
Contrôle du cache: pas de cache
Si-modifié-depuis: *

POST-DONNÉES:
Cap de spoiler
carte = 1111-114-089-111 & fio =% D0% 90% D0% 9E% D0% 92% D0% A0% D0% 90% D0% 9B% D0% 9E% D0% 92% D0% 90% D0% A0 % D0% BB% D0% BE% D1% 80 & téléphone = 7 (912) 345-6789 & date = 11.11.1990 & sexe = 1 & pass = 123321q & pass2 = 123321q

Nous le mettons sous une forme pratique, l'ajustons à CURL, le martelons en boucle et le mettons dans un flux. Le site publiera:
"RќµІµЂЅ‹ № ЅѕјµЂ є ° Ђ‚ ‹"
qui traduit de l' allemand CP1251 -
"Numéro de carte invalide"
Nous fixons la condition pour l'apparition d'une autre réponse et trouvons le "buzz" . Le brutus le plus simple est prêt.

Il n'y a pas de captcha, de blocage IP pour un grand nombre de demandes - non, il n'y a même pas de contrôle initial pour la saisie des données du client. Oh, d'accord. Et c'est ainsi.

Passons en revue une bête de plus. Il est beaucoup plus grand que les autres, mais reste vulnérable.

Tape ... Just - TAPE

Accédez à getetepes lk.lenta.com/authentication/login/activate-card:

image

Nous supposons qu'il s'agissait d'une carte non activée précédemment valide. On nous demande d'entrer un numéro de téléphone

image

Eh bien, entrez votre mobile, puis le reste des données, y compris le mot de passe. C'est tout, nous sommes dans le compte personnel.

Ici, pour ainsi dire, tout est similaire aux systèmes précédents. Il est seulement important d'attraper les demandes nécessaires, puis de les répéter dans l'ordre souhaité.

Mais empiriquement, une mauvaise vulnérabilité a été trouvée. Lorsque vous entrez le mauvais code de vérification - que s'est-il passé? Rien, ils ne nous ont pas laissé entrer dans le LC. C'est logique, les gars.

image

Mais expérimentalement, ce qui suit a été vérifié! Des demandes de confirmation du code ont été saisies, dans lesquelles tous les paramètres étaient clairs:
{"Code": "12345667890", "carte": "800011999193", "téléphone": "91234567789"}

Je ne vais pas mâcher sur la façon dont j'ai exploité cette vulnérabilité, mais je vais vous le dire brièvement. Avec lui, vous pouvez simplement omettre le code et nous accèderons toujours au compte utilisateur sans confirmer le numéro. Et cela signifie que nous pouvons indiquer n'importe quel nombre!

( J'essaie actuellement de contacter le support TAPE )

Pourquoi tout ça? Faisons le point.

Il existe de nombreux services avec un système de fidélité. Vous pouvez sans cesse les rechercher et les points "bruts". Si je vous le dis, qu'est-il possible de piloter un avion pour ces points?

Aeroflot et S7 ont également un système de bonus. Les points sont des miles. Nous pouvons les gagner auprès, par exemple, de partenaires. Aeroflot, soit dit en passant, en possède environ 2 000. Y compris, presque tous les grands supermarchés, y compris notre infâme X5 Retail Group. Vous pouvez échanger des points contre des miles directement dans la LC du même carrefour. Eh bien, et donc dans presque tous les autres services. Soit dit en passant, ce fait de vol de miles par les compagnies aériennes a été enregistré officiellement. Boîtier haut de gamme, non sans sacrifices.

En conséquence, tout n'est pas aussi simple qu'il y paraît. Il y a des gens qui vivent de ces points. Eh bien, si ces boules vous appartiennent officiellement, alors quelqu'un est assis sur votre cou. Les kulkhackers peuvent manger, s'habiller, conduire une voiture, voler dans les villes et bien plus encore gratuitement.

PS: Merci pour le fait que plusieurs agents de sécurité de X5 m'ont contacté en même temps. Il y a eu plus de discussions avec l'un sur «à qui appartiennent les clients ou les carrefours» que sur la question de la sécurité du système. Mais, je pense, ils vont tout arranger, puisque tout le Conseil de sécurité est déjà au courant. Rapidement, eh bien. Ils devraient rendre hommage. L'essentiel est de s'améliorer.

Eh bien, vous avez ici une enquête.

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


All Articles