faille XML

33 views
Skip to first unread message

TheFireNight

unread,
Apr 4, 2011, 9:22:02 AM4/4/11
to Motion Twin - Hordes.fr (sites externes)
je me permet de signaler ici une faille dans l'appel du XML qui permet
à n'importe qui de se connecter à un site externe, même si celui ci
est en mode dev.

je m'explique. quand on appelle l'URL du XML, on entre l'API, et la
clé SK pour l'XML sécurisé. cependant, il est possible, en entrant une
API non sécurise, d'obtenir tout de même un accès au XML même si
derrière, il y a une clé SK.

la plupart des sites que j'ai testé ne vérifient pas la provenance de
l'utilisateur. de ce fait, n'importe qui peut lancer un POST avec son
API et accéder au site externe, même si celui ci bénéficie d'un acces
securisé en mode dev.

je conseille donc aux dev's de vérifier la provenance du client,
surtout si le site n'est pas prêt à les accueilir, et propose aux
admin's de vérifier la présence de la SK avant d'afficher le XML
uniquement si la clé API correspond à une clé API sécurisée.

Thomas COLENO

unread,
Apr 4, 2011, 9:27:28 AM4/4/11
to mt_h...@googlegroups.com, TheFireNight
A part que les clefs API sont uniques pour chaque utilisateur et pour chaque site, donc ca ne doit pas marcher normalement...

Sinon, il y a quelque chose que je n'ai pas compris dans ton raisonnement

TheFireNight Hordien

unread,
Apr 4, 2011, 9:43:00 AM4/4/11
to mt_h...@googlegroups.com
Je parle du XML non-securisé, avec la clé API qu'on peut donné partout et que l'on trouve dans notre âme.

la plupart des sites appellent le XML comme suit (tous ?) :

$API = $_POST['key'];
$url = 'www.hordes.fr/xml/?k='.$API.';sk=[clé du site]';
$xml = simplexml_load_file($url); //ou toute autre méthode, on s'en fiche
 
sauf que là, si le visiteur vient de l'annuaire, tout va bien, s'il vient "d'ailleurs", $_POST['key'] peut contenir n'importe quelle clé. du coup, on peut se retrouver avec une url du type www.hordes.fr/xml/?api=[clé non sécurisée];sk=[clé du site] auquel cas, c'est un XML non sécurisé qui arrive au site.

si le site vérifie la présence du XML, il se dit que c'est bon, et fait comme s'il avait affaire à un XML sécurisé (sans le node perso)

donc un :

if(isset($xml))
{
[site]
}
else
{
echo "veuillez passer pas l'annuaire";
}

laisserait l'accès au site.

-TheFireNight


From: thomas...@gmail.com
Date: Mon, 4 Apr 2011 15:27:28 +0200
Subject: Re: [mt_hordes] faille XML
To: mt_h...@googlegroups.com
CC: templed...@hotmail.fr

Somberlord

unread,
Apr 4, 2011, 9:49:00 AM4/4/11
to mt_h...@googlegroups.com
La plupart des sites vérifient au moins la présence du node owner (LCN et mon site en dev en tout cas).
De plus, certains sites laissent volontairement un accès non sécurisé, avec ou sans clef API.

deepnight

unread,
Apr 4, 2011, 10:47:36 AM4/4/11
to mt_h...@googlegroups.com
C'est normal : il appartient aux devs qui souhaitent bénéficier d'un
accès "sécurisé" de vérifier que le XML reçu est bel et bien un XML
sécurisé (secure=1 dans la node <headers/>, tout simplement).

Il est évident qu'un site qui se base sur ce XML sécurisé mais qui ne
le vérifie pas a tout intérêt à ajouter les tests requis de son côté.
Cela dit, un XML sécurisé ne contient aucune info nominative : à part
si vous stockez les clés API, cela ne permettrait en théorie pas de
s'identifier sur un site tel que LCN ou la Messagerie.

-deepnight (Hordes.fr)

Jay Anvers

unread,
Apr 4, 2011, 5:58:34 PM4/4/11
to mt_h...@googlegroups.com
Bonsoir à tous,
Au passage, pensez à sécuriser les variables pouvant provenir d'une source externe (genre POST et GET). Ça peut porter à confusion au vu de l'exemple.
Bisous,
DKH.
Reply all
Reply to author
Forward
0 new messages