20 sept. 2007

Danger, "browser based application"!

Cet après midi, il m'a été donné l'occasion de tester quelque chose de "nouveau". Je me suis rendu dans une bibliothèque (non, la nouveauté n'est pas là) et suis tombé sur une très jolie interface de recherche dans la base de donnée. Pris d'un réflexe quasi-compulsif, ma première recherche fut:


"><script>alert("Hello");</script><"


Quelle ne fut pas ma surprise de voir alors l'ordinateur me saluer! L'application de recherche était, comme l'indiquait l'AlertBox, exécutée au sein d'Internet Explorer.

Or cet ordinateur était complètement "restreint", j'entends par là que tout avait été fait pour que ne soient effectuées dessus QUE des recherches dans la base de données. Pourtant, je me retrouvais à pouvoir naviguer sur le web (via une iframe)


"><iframe src="http://www.google.fr" width=100%
height=100%><"


Je continuerais peut être l'exploration si l'occasion se présente, mais je ne serais pas étonné que l'application soit exécutée en utilisateur Administrateur et sans options de sécurité particulières.

Tout cet article non pas pour inciter au piratage des bibliothèques mais plutôt pour attirer l'attention sur l'importance que peut prendre une toute petite faille XSS lorsque le contexte s'y prête. Une telle implémentation d'un moteur de recherche dans une base locale est un choix contestable.
Pourquoi faire s'exécuter le client dans Internet Explorer? Utiliser un navigateur web comme base pour un système ne devant pas se connecter au web est clairement une erreur bien plus grossière que l'oubli de filtrer les html_entities!

Aucun commentaire: