🛒Fonctions d'achat et de facturation

Les fonctions d'achat et de facturation sont gĂ©nĂ©ralement prĂ©sentes dans la plupart des applications Web. Le test de ces fonctions peut ĂȘtre assez simple et peut en fait crĂ©er un impact commercial trĂšs important. Vous trouverez ci-dessous quelques moyens de tester et de trouver des bugs dans les fonctions d'achat d'une application Web.

Manipulation des paramĂštres

La falsification des paramÚtres est une vulnérabilité qui peut affecter n'importe quel site Web, mais la "manipulation des prix" est largement unique aux sites d'achat en ligne. Un site Web est vulnérable s'il se fie indûment à la validation cÎté client ou s'il ne parvient pas à valider l'entrée de l'utilisateur cÎté serveur.

Exemple: on a une url de ce type

https://target.com/cart?id=1&qty=2&price=29,99&currency=EUR

Dans ce cas l'attaquant peut tenter de changer simplement la valeur du prix et/ou de la quantité. Si la validation des paramÚtres n'est pas bien faite alors il sera capable d'acheter 100 produits pour 29,99 euros ou 2 produits pour 1 euro par exemple.

Voici quelques scenarios d'attaque mettant en oeuvre cette méthode:

  • Changer le prix d'un produit cher en un produit bon marchĂ©.

  • Augmenter la quantitĂ© du produit au prix d'un seul.

  • Changer la devise (EUR en PKR).

  • Mettre le prix du produit en nĂ©gatif si le pris final ne peut pas ĂȘtre nĂ©gatif.

  • Si l'application utilise un hachage, essayez de capturer le hachage d'un produit bon marchĂ© et remplacez-le lors de l'achat d'un produit coĂ»teux.

  • S'il y a un coĂ»t supplĂ©mentaire comme une taxe/quelque chose, changez-le en montant nĂ©gatif qui pourrait rĂ©duire le prix total du produit.

  • Si vous avez 2 coupons de rĂ©duction et que la vĂ©rification n'est faite qu'une seule fois, alternez entre les deux coupon pour vĂ©rifier si vous ne pouvez pas utiliser plusieurs fois le mĂȘme coupon.

CSRF

Une bonne méthodologie pour identifier les vulnérabilités CSRF serait de découvrir tous les points de terminaison à travers lesquels l'application initie et exécute des actions, et d'appliquer des tests en créant un formulaire html pour une demande post-basée ou une URL pour une demande basée sur un GET. Astuce : Vous pouvez utiliser le générateur BurpSuite CSRF POC pour votre facilité

Scénarios:

  • CSRF sur l'ajout de produit au panier

  • CSRF lors de la suppression d'un produit du panier

  • CSRF sur le changement d'adresse de la victime

  • CSRF lors de la suppression de la carte-cadeau/coupon appliquĂ©

IDOR

Les références directes d'objet non sécurisées ou IDOR se produisent lorsqu'une application reçoit une entrée de l'utilisateur et l'utilise pour récupérer un objet interne tel qu'un fichier ou une clé de base de données sans effectuer une autorisation suffisante. Dans ces cas, l'attaquant peut alors modifier les références pour accéder à des données non autorisées.

Exemple: on a une url du type:

https://target.com/cart?userId=10

Le site cible peut ĂȘtre vulnĂ©rable si en changeant son userId de 10 Ă  15 par exemle l'attaquant peut accĂ©der au panier du client ayant le userId 15.

Scénarios:

  • une IDOR permet Ă  un attaquant d'afficher les informations de commande d'une autre personne.

  • une IDOR permet de supprimer des Ă©lĂ©ments du panier d'un autre utilisateur.

  • une IDOR permet d'afficher les donnĂ©es personnelles/sensibles d'un autre utilisateur (adresse, carte de crĂ©dit, etc).

Clickjacking

Le dĂ©tournement de clic est une technique malveillante consistant Ă  inciter un utilisateur Ă  cliquer sur quelque chose de diffĂ©rent de ce que l'utilisateur perçoit - l'utilisateur croit qu'il interagit avec un site Web de confiance mais interagit en fait avec une ressource contrĂŽlĂ©e par l'attaquant. En un mot, cela peut ĂȘtre dĂ©crit comme incitant un utilisateur Ă  cliquer sur quelque chose de diffĂ©rent de ce que l'utilisateur perçoit, rĂ©vĂ©lant potentiellement des informations confidentielles.

Pour tester si le site cible est vulnérable au clicjacking vous pouvez utiliser le site https://clickjacker.io/ ou clickbandit sur l'outil burp suite.

Scénarios:

  • Clickjacking lors de la mise Ă  jour de la page nom/adresse, un attaquant peut inciter la victime Ă  mettre Ă  jour l'adresse de livraison Ă  l'adresse de l'attaquant.

  • Clickjacking sur la page de paiement, un attaquant peut inciter l'utilisateur Ă  acheter des articles Ă  son insu.

  • Clickjacking sur l'ajout ou la suppression de produits, Un attaquant peut inciter la victime Ă  ajouter ou supprimer des produits dans le panier.

Manipulation de réponse HTTP

La manipulation de la rĂ©ponse signifie manipuler la rĂ©ponse du serveur Ă  notre navigateur. Dans de nombreux cas, cela peut ĂȘtre trĂšs utile pour les tests car cela peut entraĂźner des contournements tels que le contournement d'authentification, le contournement de paiement OTP et bien d'autres. Cela peut ĂȘtre facilement testĂ© en examinant les rĂ©ponses de l'application Web tout en effectuant une validation.

Exemples:

"paid":"false" paiement rejeté

"paid":"true" paiement accepté

403 Forbidden

200 OK

Cartes de test (Stripe)

Si le mode test de stripe n'a pas été désactivé par les développeurs, il est possible d'utiliser une fausse carte de crédit pour souscrire à un abonnement par exemple.

ressource: https://stripe.com/docs/testing

Carte expirée accepté (Réservations)

Certaines fonctions de paiement notamment celles liés à des réservation permettent parfois d'effectuer des réservations sans vérifier la date d'expiration de la carte utilisée.

Transmission en clair de données sensibles

Certaines applications transmettent des mots de passe et d'autres donnĂ©es sensibles sur des connexions non cryptĂ©es, ce qui les rend vulnĂ©rables Ă  l'interception. Pour exploiter cette vulnĂ©rabilitĂ©, un attaquant doit ĂȘtre correctement positionnĂ© pour espionner le trafic rĂ©seau de la victime. Ce scĂ©nario se produit gĂ©nĂ©ralement lorsqu'un client communique avec le serveur via une connexion non sĂ©curisĂ©e telle qu'un rĂ©seau Wi-Fi public ou un rĂ©seau d'entreprise ou domestique partagĂ© avec un ordinateur compromis.

Vous pouvez utiliser wiershark ou un outil d'analyse de trafic similaire pour capturer le trafic réseau de l'ensemble de votre processus d'achat. Si vous voyez des données sensibles telles que les détails de votre carte de crédit ou votre adresse, elles sont transmises dans le protocole http non crypté et sont visibles en texte clair.

Il y a de fortes chances que vos données soient divulguées car les données seront enregistrées dans de nombreux endroits comme le serveur du FAI, les journaux du serveur d'application, tout service VPN tiers, etc.

Mis Ă  jour

Ce contenu vous a-t-il Ă©tĂ© utile ?