La faille upload est une faille vraiment dangereuse car elle permet à un attaquant d'uploader un fichier malicieux écrit en php sur le serveur , ce qui donnera un accés root a l'attaquant .
Explication
Prenons un petit site qui permet d'uploader des images sur le serveur !!! Si ce site n'a pas assez securisé son formulaire d'upload un hacker pourrait facilement uploader un webshell .
C'est quoi un webshell ??
Un webshell est un script écrit en language web comme le php,le asp,le cgi,le jsp
il n'existe pas en html ou js . Le webshell ou backdoor une fois uploadé donnera accés aux fichiers sensibles , il pourra éditer n'importe quel fichier , créer un nouveau fichier , supprimer un fichier etc . les Webshells les plus connus sont b374k,c99,r57,r100. A noter que l'upload de webshells est la technique préferé des black hats.
Ceci est a but purement educatif je ne vous encourage pas à hacker des sites !!!
Exploitation
Première méthode
La prèmiere méthode est la double extension c'est a dire votre fichier doit être comme ceci backdoor.php.jpg donc le site mal securisé le prendra pour une image.
/!\ le fichier doit être impérativement encodé soit en base64 ou RSA pour que sa marche.
Deuxième méthode
Dans La deuxième méthode nous allons modifier le http header du webshell , j'explique quand vous uploadez un fichier vous envoyé un header au serveur , ce header c'est comme la signature du fichier , ils regardent le header du shell pour vérifier la signature du fichier ainsi l'accepter ou le refuser notre but c'est de modifier le header et ainsi uploader le webshell avec succés pour ça
1.telechargez l'addon Tamper Data pour Firefox.
2.Cliquez sur Outils puis démarrer alteration.
3.Uploadez votre backdoor.
3.une fenêtre s'affiche cliquez sur altérer .
4.Une nouvelle fenêtre s'affiche allez dans post data modifiez application/octet-stream par application/jpg et cherchez le nom de votre backdoor puis modifiez l'extention php par jpg.
Voila vous avez réussi a uploader votre webshell en modifiant le header
Troisième méthode
Face à cette vulnérabilité , les administrateurs ont blacklisté l'extension php ,mais voila :P il existe des webshells en asp en jsp même en cgi . Vous pouvez uploader un shell en asp tranquillement
Sécurisation
Pour sécuriser cette faille voici ce que vous devez faire
1.Interdire les fichiers écrit en language web (php,asp)
2.Interdire également les fichiers avec une double extention.
3.Verifier toujours le header d'un fichier
4.Si possible ne pas avoir de formulaire d'upload :P
Si vous avez détecté trop tard cette vulnérabilité et que vous craignez que des méchants hackers ont uploadé des webshells sur votre serveur il existe des script détecteur de webshells .
Ps: je ne vous encourage pas à pirater des sites web c'est illégal vous êtes le seul résponsable .
Ce tutoriel est un cadeau en guise de bienvenu
Explication
Prenons un petit site qui permet d'uploader des images sur le serveur !!! Si ce site n'a pas assez securisé son formulaire d'upload un hacker pourrait facilement uploader un webshell .
C'est quoi un webshell ??
Un webshell est un script écrit en language web comme le php,le asp,le cgi,le jsp
il n'existe pas en html ou js . Le webshell ou backdoor une fois uploadé donnera accés aux fichiers sensibles , il pourra éditer n'importe quel fichier , créer un nouveau fichier , supprimer un fichier etc . les Webshells les plus connus sont b374k,c99,r57,r100. A noter que l'upload de webshells est la technique préferé des black hats.
Ceci est a but purement educatif je ne vous encourage pas à hacker des sites !!!
Exploitation
Première méthode
La prèmiere méthode est la double extension c'est a dire votre fichier doit être comme ceci backdoor.php.jpg donc le site mal securisé le prendra pour une image.
/!\ le fichier doit être impérativement encodé soit en base64 ou RSA pour que sa marche.
Deuxième méthode
Dans La deuxième méthode nous allons modifier le http header du webshell , j'explique quand vous uploadez un fichier vous envoyé un header au serveur , ce header c'est comme la signature du fichier , ils regardent le header du shell pour vérifier la signature du fichier ainsi l'accepter ou le refuser notre but c'est de modifier le header et ainsi uploader le webshell avec succés pour ça
1.telechargez l'addon Tamper Data pour Firefox.
2.Cliquez sur Outils puis démarrer alteration.
3.Uploadez votre backdoor.
3.une fenêtre s'affiche cliquez sur altérer .
4.Une nouvelle fenêtre s'affiche allez dans post data modifiez application/octet-stream par application/jpg et cherchez le nom de votre backdoor puis modifiez l'extention php par jpg.
Voila vous avez réussi a uploader votre webshell en modifiant le header
Troisième méthode
Face à cette vulnérabilité , les administrateurs ont blacklisté l'extension php ,mais voila :P il existe des webshells en asp en jsp même en cgi . Vous pouvez uploader un shell en asp tranquillement
Sécurisation
Pour sécuriser cette faille voici ce que vous devez faire
1.Interdire les fichiers écrit en language web (php,asp)
2.Interdire également les fichiers avec une double extention.
3.Verifier toujours le header d'un fichier
4.Si possible ne pas avoir de formulaire d'upload :P
Si vous avez détecté trop tard cette vulnérabilité et que vous craignez que des méchants hackers ont uploadé des webshells sur votre serveur il existe des script détecteur de webshells .
Ps: je ne vous encourage pas à pirater des sites web c'est illégal vous êtes le seul résponsable .
Ce tutoriel est un cadeau en guise de bienvenu
Commentaire