Utilisateur régulier de l'application Android de Domino's Pizza, Paul Price s'est interrogé sur la manière dont les codes promo sont générés, et ce de manière apparemment aléatoire. Une curiosité de hacker qui l'a conduit à tomber sur un bug.

Domino-pizza-app Il explique avoir examiné le code source de l'application et a remarqué que le code promo était généré côté serveur via un appel d'API. Grâce à un serveur proxy (Burp Proxy), il a surveillé le trafic Web entre son smartphone et l'API serveur, et a constaté une mauvaise pratique dans le processus de paiement.

Les paiements étaient traités par l'application elle-même côté client. Généralement, les paiements sont traités côté serveur afin d'éviter d'éventuelles manipulations de paramètres lors d'une transaction, ce qu'a pu faire notre hacker…

Paul Price a essayé un paiement avec un faux numéro de carte de crédit. Logiquement, la commande a été refusée mais il a pu obtenir en retour une réponse qu'il a utilisée comme référence. Il a modifié des attributs et valeurs de manière à faire croire à une transaction validée.

Sa manipulation a bel et bien fonctionné. S'ouvrait alors la perspective de commander gratuitement des pizzas, et qui sait pour combien de temps. Sauf que ce hacker britannique est aussi un consultant en cybersécurité qui a été rattrapé par son honnêteté. Il a payé sa pizza témoin gratuite, prétextant au livreur qu'il devait avoir une erreur puisqu'il n'avait pas saisi son numéro de carte.

Si Paul Price relate la découverte du bug, c'est tout simplement parce qu'il a été corrigé. Il aurait été mis au jour l'année dernière lors d'un contrôle du service informatique et corrigé dans la foulée. " Les paiements sont toujours traités côté client mais ils ont maintenant les contrôles appropriés côté serveur. "