Failles et vulnérabilités du Web

PHP execution depuis du HTML, le cas htmltowordpress.io

Blog Failles et vulnérabilités du Web PHP execution depuis du HTML, le cas htmltowordpress.io
0 comments

Lundi 7 décembre 2015 un ami m’a donne un lien vers htmltowordpress.io juste pour tester l’outil de conversion.

htmltowordpress.io est un service capable de convertir facilement un site complet en HTML en un thème WordPress, en 1 étape !

Donc j’ai jeté un oeil de suite et me suis posé la question du comment le parsing a bien pu être fait pour éviter les failles.

Try again.

Mes premiers tests ont été de simplement faire apparaitre des boites d’alert en JavaScript, mais cela ne peut pas compter comme une faille puisque quand htmltowordpress.io vous montre le résultat de la conversion, cela est fait dans une installation de WordPress tout propre, mise à jour, avec un utilisateur nommé “friend” en rôle admin.

Cette installation a le minimum de sécurité requise qui interdit quiconque d’ajouter un plugin ou un thème, meme d’en mettre un à jour et aussi de les éditer, parfait.

Puis j’ai essayé d’ajouter du code PHP dans mon HTML en utilisant <?php or <?/**/php or <?<script>php vous savez, au cas où il y aurait un problème de replace avec ces tags et mots.

You win

Et il y en avait un. UN seul problème de mauvais pattern de remplacement qui a mené à une exécution de code PHP en utilisant un fichier HTML, je l’ai trouvé :

<script><?= ABSPATH; ?></script>

Les short tags de PHP étaient autorisés mais SEULEMENT si contenus dans un tag SCRIPT. Voici une courte vidéo de démo en live :

http://recordit.co/Bcie4M8rvs

Ceci va juste afficher le chemin de la constante WordPress ABSPATH, mais vous imaginez bien que vous pouvez utiliser tout ce que vous voulez et cela peut être très très dangereux. Bien sûr qu’écrire du code PHP dans un site EST un danger.

Game Over

Dans l’heure qui a suivi ma découverte et mes tests, j’ai contacté l’équipe de htmltowordpress.io qui a elle aussi réagit vite car ils ont corrigé la faille en quelques heures !

Maintenant htmltowordpress.io est encore plus sécurisé qu’hier ! Essayez ce service maintenant, allez sur htmltowordpress.io!

0 comments