[Hack] – Comment une simple image Gif, peut contrôler un serveur !
Coucou à tous,
J’espère que vous savourez bien vos kellogs, que le jus d’orange et frais, mais surtout que les rayons du soleil réchauffent vos petits corps frêles !
Car la semaine commence !
Et quand la semaine commence, il faut envoyer du lourd !!!
Aussi, j’ai décidé de vous partager une faille qui fût courante à une certaine époque, et qui subsiste encore dans certains cas :)
Pour ma part, je l’ai découvert lorsque j’utilisais encore des serveurs mutualisés…
(Grosse blague : j’utilisais en réalité une offre gratuite pour les non abonnés FREE)
Bref cette faille …
C’est surtout une brèche liée à une mauvaise configuration Apache …
Une petite ligne que vous pourriez retrouver dans votre siteweb.conf ou dans votre .htaccess
Cette petite ligne c’est :
AddHandler application/x-httpd-php .php
Alors que dit cette ligne ?
Cette ligne dit …
Je veux que tout ce qui « match » (contient / correspond) à .php soit considéré comme un script php !
ça veut dire que « toto.php » va être considéré comme un script PHP …
Mais ça veut dire aussi que …
- toto.php.png
- toto.php.txt
- toto.php.mp3
- …
Vont être considérés comme des scripts PHP !
… WHAOUUUU ….
Mais vu que vous êtes des développeurs rigoureux …
Vous me direz que …
Vous êtes capable de contrôler le type de fichier, sa taille, bref réaliser toute une série de contrôles … pour ne pas vous faire avoir …
Sauf QUE !
Si un p’tit bonhomme injecte son code PHP dans la partie EXIF d’une photo …
L’EXIF est une partie destinée à contenir des informations diverses :
- Modèle d’appareil photo
- Orientation de l’appareil
- Coordonnés GPS …
- Résolution
- …
Vous suivez ?
Un Hacker … qui stockera son code PHP dans la partie EXIF d’une photo … passera vos contrôles sans soucis !!!
Vous pourrez donc envoyer des images (votre code PHP) via un formulaire d’upload …
Et exécuter du code HTML / PHP / Javascript !
Pour vous sécuriser contre ce genre d’attaque :
Vous devez impérativement contrôler votre configuration …
Toujours renommer les fichiers qu’ont vos envois sur vos formulaires
Exemple :
ghjkkkkkkkkkkkkkk.php.gif => [.gif] =>md5(date unix)).gif