NBS System : Advisory sur la faille Magento / PayPal Le 19/04/2012 par Antonin le Faucheux Versions affectées : EE pré 1.10.1 et CE pré 1.5, site proposants PayPal Faille PayPal sous Magento ou comment faire ses achats (presque) gratuitement La faille se situe dans le module de paiement PayPal de Magento, sachant que les deux sociétés font partis du même groupe, c’est encore un peu plus étrange. Un de nos clients a été visé par la faille que nous allons détailler dans cet article. Heureusement, dans le cas de notre client, celui‐ci procédait à des vérifications manuelles systématiques qui lui ont permis de déjouer l’attaque. Pourquoi publier un advisory sur cette faille, sachant que des personnes peu recommandables manient fort bien Google et vont finir par tomber dessus. La raison est simple : via diverses sources, nous savons que cette faille est activement exploitée depuis un certain temps et donc qu'elle représente bien une menace réelle. Les pirates sont donc déjà au courant mais pas les victimes. La faille a été remontée à Magento et est déjà corrigée dans les dernières versions (EE > 1.10.1 ou CE > 1.5). Hélas, Magento Inc. est adepte du « silent patching » qui se traduit en bon français par « corriger les problèmes de sécurité sans prévenir pour que nos clients continuent de croire que tout va bien ». Donc, même si la faille est corrigée, aucune publication officielle de Magento Inc. n’informera ses clients que cette faille existe et ne leur permettra de se prémunir. Le second, problème (et non des moindres) c’est que Magento Inc. ne fournira pas de correctif pour les versions antérieures ce qui veut dire qu’un grand nombre de boutiques sous Magento sont aujourd’hui vulnérables sans le savoir mais surtout, sans solution. Cet article vise à expliquer cette faille et à proposer une solution pour les possesseurs de sites vulnérables. La faille nous a été révélée par un de nos clients en version Enterprise à l’origine (qui ne souhaite pas voir son nom divulgué) et le correctif a été mis au point par l’agence DnD (www.dnd.fr).
8
Embed
Faille Magento Paypal - NBS System · Exploitation de la faille Étape 1 : La commande Nous voici rendus sur notre boutique Magento favorite afin de réaliser un achat.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
NBS System : Advisory sur la faille Magento / PayPal Le 19/04/2012 par Antonin le Faucheux Versions affectées : EE pré 1.10.1 et CE pré 1.5, site proposants PayPal
Faille PayPal sousMagento ou comment faire ses achats (presque)gratuitement
La faille se situe dans le module de paiement PayPal de Magento, sachant que les deux sociétés font
partis du même groupe, c’est encore un peu plus étrange.
Un de nos clients a été visé par la faille que nous allons détailler dans cet article. Heureusement, dans
le cas de notre client, celui‐ci procédait à des vérifications manuelles systématiques qui lui ont
permis de déjouer l’attaque.
Pourquoi publier un advisory sur cette faille, sachant que des personnes peu recommandables
manient fort bien Google et vont finir par tomber dessus. La raison est simple : via diverses sources,
nous savons que cette faille est activement exploitée depuis un certain temps et donc qu'elle
représente bien une menace réelle. Les pirates sont donc déjà au courant mais pas les victimes.
La faille a été remontée à Magento et est déjà corrigée dans les dernières versions (EE > 1.10.1 ou CE
> 1.5). Hélas, Magento Inc. est adepte du « silent patching » qui se traduit en bon français par
« corriger les problèmes de sécurité sans prévenir pour que nos clients continuent de croire que tout
va bien ». Donc, même si la faille est corrigée, aucune publication officielle de Magento Inc.
n’informera ses clients que cette faille existe et ne leur permettra de se prémunir.
Le second, problème (et non des moindres) c’est que Magento Inc. ne fournira pas de correctif pour
les versions antérieures ce qui veut dire qu’un grand nombre de boutiques sous Magento sont
aujourd’hui vulnérables sans le savoir mais surtout, sans solution.
Cet article vise à expliquer cette faille et à proposer une solution pour les possesseurs de sites
vulnérables. La faille nous a été révélée par un de nos clients en version Enterprise à l’origine (qui ne
souhaite pas voir son nom divulgué) et le correctif a été mis au point par l’agence DnD (www.dnd.fr).
Exploitationdelafaille
Étape1:LacommandeNous voici rendus sur notre boutique Magento favorite afin de réaliser un achat. Pour l’exemple,
nous allons acheter un seul article mais la faille reste exploitable avec plusieurs articles.
Une fois notre article ajouté au panier et le transporteur choisi nous arrivons à un total TTC de
132,00€.
Étape2:Interceptionetmodification
Une fois la validation passée, nous choisissons de payer avec PayPal et validons la requête. A ce stade
nous interceptons tout le trafic http et https passant par notre navigateur via le proxy Burp Suite afin
de pouvoir visualiser et modifier les échanges entre celui‐ci et les serveurs Web.
Nous interceptons notamment la requête suivante vers PayPal.
Cette requête semble contenir un certain nombre d’informations mais la partie qui nous intéresse se
situe à la fin. En effet, on peut y distinguer le prix de notre article 97,83 € HT, la TVA et les frais de
livraison.
Ces données étant envoyées depuis notre navigateur vers le site de PayPal, il nous est possible de les
modifier afin de tenter d’obtenir une « réduction ».
Nous avons maintenant un article à 1,50€ TTC et une livraison à 0,50€ TTC qui qui nous donne un prix
total TTC de 2,00€. Une réduction imbattable de plus de 98%...
Aucune vérification d’intégrité des informations n’est faite par PayPal et les prix modifiées sont repris
tels quels dans le récapitulatif de commande.
Étape3:Profit
A ce stade, il ne reste plus qu’à payer notre commande.
De retour sur le site marchand, on nous confirme que notre commande à bien été payée.
Le tableau de bord montre que la commande d’un montant de 132€ est en cours de traitement.
Le détail de notre commande reprend bien les montants du site et non le montant payé sur PayPal. Il
n’est mentionné nulle part que nous n’avons déboursé que 2€ sur les 132€ que coutait cet article.
Tout site n’effectuant pas la double vérification des versements reçus sur le compte PayPal avant
envoie pourra être victime, cela est encore plus vrai pour les très nombreux sites qui automatisent
leurs envois.
L’exploitation de cette faille est donc particulièrement triviale et est à la portée de toute personne
ayant des connaissances basiques en informatique. Tout ça est très intéressant me direz‐vous mais
comment se protéger de cette faille ?
Patcherlafaille
La solution est celle fournie par l’agence de développement de l’un de nos clients (Agence DnD,
www.dnd.fr) qui a travaillé en relation avec PayPal. Il s’agit en fait de chiffrer et de signer les
informations qui vont être transférées entre PayPal et le site marchand afin d’empêcher toute
modification par l’utilisateur.
Une description générale de la protection est consultable sur le site PayPal :