Mise à jour :
Au final, je n'ai pas réussi à cassé le code contenu dans les QR-Code...
Mais j'ai trouvé une application qui fait, au final, ce que l'on veut !
https://boissons-illimitees.tk/
Ça fonctionne de façon "communautaire" et c'est une web app (pas d'installation via Google Play ou App Store).
Voilà, je vous laisse maintenant à mon message d'origine.
Bonjour à tous,
En 2017, une loi est passée interdisant la vente de boisson dite "illimité" partout en France. Tous les établissements qui proposaient déjà de l'illimiter (KFC, Laser Game, ...) ont dû mettre à jour leur installation pour rendre l'illimité, limité. Pour mettre en place cette limite, ils ont eu recours à des QR Code directement imprimé sur le gobelet. Ce QR Code scanné par la machine délivre une quantité bien précise et limité de boisson (généralement, la taille du gobelet).
La première version du système fonctionne très bien, mais n'est absolument pas sécurisée. Les données enregistrées dans le QR Code sont facilement compréhensibles (par presque n'importe qui). Voilà des exemples de données :
On peut facilement mettre un chiffre complètement aléatoire en numéro de gobelet et y laisser 100cl pour pourvoir se resservir facilement.
Mais début 2018, la société qui met en place ce système de QR Code à changer les données et leur algorithme.
Maintenant, on se retrouve plus avec quelque chose de ce genre lorsque l'on scanne le QR Code (exemple de gobelet de 25cl et 40cl) :
Bien entendu, c'est du Base64, mais une fois décoder, cela ne donne pas du texte compréhensible (comme avant). J'ai alors exporté les données par bloc d'hexadécimal, et même par bloc de décimal, mais je n'ai trouvé aucune cohérence d'un QR Code à l'autre. Aucun bloque qui reviens souvent, n'y même d'incrémentation.
Je commence à me dire que les données sont tous simplement crypté (oui, même pour un système aussi basique). Mais je n'arrive pas à déterminé quel algorithme est utilisé ici. J'aurai tendance à dire de l'AES (car je ne vois pas ce que du RSA viendrai foutre ici) et aussi que si je crypte avec AES les données de la première version (ex: "WBCB;SERVICE;1;33398459537;100", sur ce site : https://www.movable-type.co.uk/scripts/aes.html), on trouve un résultat semblable à la nouvelle version (en terme de taille/nombre de bloc).
Je viens donc ici pour trouvé de l'aide, échanger avec tout le monde, trouver des idées, trouver des personnes qui serais intéressé pour cassé la sécurité, ... Car seul, je n'est pas les compétence nécessaire pour y parvenir.
Informations supplémentaires :
Au final, je n'ai pas réussi à cassé le code contenu dans les QR-Code...
Mais j'ai trouvé une application qui fait, au final, ce que l'on veut !
https://boissons-illimitees.tk/
Ça fonctionne de façon "communautaire" et c'est une web app (pas d'installation via Google Play ou App Store).
Voilà, je vous laisse maintenant à mon message d'origine.
Bonjour à tous,
En 2017, une loi est passée interdisant la vente de boisson dite "illimité" partout en France. Tous les établissements qui proposaient déjà de l'illimiter (KFC, Laser Game, ...) ont dû mettre à jour leur installation pour rendre l'illimité, limité. Pour mettre en place cette limite, ils ont eu recours à des QR Code directement imprimé sur le gobelet. Ce QR Code scanné par la machine délivre une quantité bien précise et limité de boisson (généralement, la taille du gobelet).
La première version du système fonctionne très bien, mais n'est absolument pas sécurisée. Les données enregistrées dans le QR Code sont facilement compréhensibles (par presque n'importe qui). Voilà des exemples de données :
Code:
WBCB;SERVICE;1;{NUMERO_DE_GOBELET_UNIQUE};{TAILLE_GOBELET_EN_CL} WBCB;SERVICE;1;33398459537;100 WBCB;SERVICE;1;33398459538;50 WBCB;SERVICE;1;33398459539;25 WBCB;SERVICE;1;12345678901;100 ...
Mais début 2018, la société qui met en place ce système de QR Code à changer les données et leur algorithme.
Maintenant, on se retrouve plus avec quelque chose de ce genre lorsque l'on scanne le QR Code (exemple de gobelet de 25cl et 40cl) :
Code:
1NW05NS4/tXWgrBVri3hNPav8BfGHLORm8f509nTi3pKbt2O4Uc= qmf6WNYzifBnhfQV1RkJlXqlyNrjB4jpFqiyDbO4Cuh4c6n40Y4=
Je commence à me dire que les données sont tous simplement crypté (oui, même pour un système aussi basique). Mais je n'arrive pas à déterminé quel algorithme est utilisé ici. J'aurai tendance à dire de l'AES (car je ne vois pas ce que du RSA viendrai foutre ici) et aussi que si je crypte avec AES les données de la première version (ex: "WBCB;SERVICE;1;33398459537;100", sur ce site : https://www.movable-type.co.uk/scripts/aes.html), on trouve un résultat semblable à la nouvelle version (en terme de taille/nombre de bloc).
Je viens donc ici pour trouvé de l'aide, échanger avec tout le monde, trouver des idées, trouver des personnes qui serais intéressé pour cassé la sécurité, ... Car seul, je n'est pas les compétence nécessaire pour y parvenir.
Informations supplémentaires :
- Pour le moment, j'ai recensé que 2 enseignes qui on l'aire d'utiliser le même système de QR Code : KFC et Laser Game
- Site qui génére des QR Code avec la première version (qui ne fonctionne plus dans les restautants) : kfcqrcode.com
- Site pratique pour la conversion de données : conv.darkbyte.ru
Commentaire