Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Prototype Hijacking : un nouveau type d’attaque contre les applications Ajax

Par Ludovic Blin, secuobs.com
Le 26/01/2007


Résumé : Cette nouvelle technique permet d’intercepter les requêtes Ajax pour les modifier ou notifier un hôte distant. Elle a été présentée lors du Chaos Communication Congress qui s’est tenu en fin d’année 2006.



Lors de la présentation « Subverting Ajax » effectuée à la fin de l’année dernière lors du Chaos Communication Congress, les italiens Stefano Di Paola et Giorgio Fedon ont détaillé plusieurs techniques d’attaque avancées des applications web, dont le Prototype Hijacking.

Cette méthode se base sur les propriétés de langage orienté objet de javascript pour modifier les objets qui vont être clonés par la partie javascript d’une application Ajax. La fonction XMLHTTPRequest recèle notamment des possibilités d’exploitation intéressante, puisqu’elle est systématiquement utilisée par les applications Ajax. Les deux chercheurs ont démontré qu’il était possible de créer une nouvelle classe « wrapper » qui remplacera la classe originale lors d’un appel de la fonction. Cette injection de code de type « man in the middle » peut s’effectuer à partir du moment ou une faille de type XSS est présente sur le site attaqué. La classe insérée peut notamment envoyer sur un hôte toutes les données envoyées depuis les navigateurs des utilisateurs, en utilisant par exemple une balise html d'insertion d'image avec un paramêtre.

Les deux chercheurs ont également présenté une autre technique dénommée Auto Injection Cross Domain Scripting. Celle-ci dispose de plusieurs pré-requis pour fonctionner : la présence d’un proxy (ce qui est souvent le cas en environnement professionnel), un navigateur vulnérable à la faille « http request splitting » et la visite par l’utilisateur d’un site contrôlé par l’attaquant. A partir de cette visite, cette attaque permet de contrôler les données qui transitent entre l’utilisateur et les différents sites qu’il visite. Pour cela, le script injecté utilise des évènements tels que onAbort, ou encore onUnload, ce qui lui permet de s’injecter pour chaque domaine différent visité.

Enfin, ils ont révélé une faille de type XSS dans le plug-in PDF d’Adobe, qui a rapidement fait l’objet d’un correctif.

lien