12 novembre 2013

les failles WEB, C'est quoi, une faille web ?

C'est quoi, une faille web ?

Une faille web, c'est une faille. Oui, d'accord, mais quel type de faille ? Et bien, tout simplement une faille présente dans une application web, donc une faille présente au niveau d'un site internet. Les failles sont majoritairement dues aux erreurs de programmation, ou bien à des oublis de sécurisation. Notez aussi que la faille peut être due à une mauvaise configuration du serveur qui se contente de distribuer les pages web après avoir interprêté le code PHP présent dans le fichier demandé.
C'est en exploitant ces bugs, ces failles web, que le hacker peut obtenir un accés partiel ou total du site. Il peut obtenir des informations de la base de donnée ou, encore, contrôler le contenu intégral du site, le modifier, supprimer des pages, en rajouter, et j'en passe.
Voici les principales failles présentes dans les applications web (Ce tutorial n'apprend pas à toutes les exploiter ! Il les énumères seulement...) :

  • La faille include : LA faille PHP par excellence. En "remote", c'est-à-dire "lointain", cette faille permet à l'utilisateur de faire venir une page qui provient de sa création, notamment un exploit, qui peut lister le contenu du site, supprimer une page, lire son code source, exécuter du code php ou offrir l'accès à un shell. En local, elle permet d'inclure une page qui est d'habitude protégée d'accès, notamment par une identification serveur (.htaccess pour les connaisseurs). Ainsi, l'indentification est bypassée, et la page est appelée via la fonction include. En résumé, cette faille web est une faille exploitable côté serveur.
  • La faille XSS : De son vrai nom CSS (Cross Site Scripting), mais appelée XSS pour ne pas confondre avec le CSS (Cascading Style Sheet) qui donne un style aux pages web, cette faille consiste en une injection de code javascript pour généralement subtiliser le cookie d'une personne naïve. Cette faille est donc une faille exploitable côté client. Elle reste quand mème redoutable et dangereuse, car toujours présente à cause d'oubli(s). Un cookie, c'est quoi ? C'est un petit bloc de donnée forgé par le site web, transféré sur l'ordinateur du visiteur, puis répéré par le site au fur et à mesure des connexions ultérieures. C'est en quelques sortes une carte d'identité du visiteur sur le site concerné. Si le cookie est volé, le voleur peut donc se faire passer pour sa victime auprès du site, et avoir des privilèges plus élevés.
  • SQL Injection : Cette faille est terrible car non seulement elle est exploitable côté serveur, mais en plus elle permet l'extraction de données confidentielles au sein de la base de donnée, ou alors de tromper une requête SQL. Elle consiste en l'injection d'une chaîne de caractères dans la requête pour modifier la valeur qu'elle doit renvoyer, et ainsi réagir en fonction de cette valeur renvoyée. Ce genre de faille est beaucoup plus présent que les failles includes, car il en faut peut pour déceler une telle faille, parfois.
  • Faille upload : Faille egalement exploitable côté serveur, et voisine de la faille include. Ici, il est question de charger un fichier sur le serveur autre qu'un fichier attendu. Par exemple, le script attend qu'on charge des images. Nous, on va charger une page php qui permettra d'avoir un contrôle total sur le site internet.
  • Faille cookie : Faille exploitable côté client, mais rare (je n'en ai jamais vue aucune). Cette faille consiste à examiner ses cookies, et à deviner une autre valeur facilement qui pourrait élever nos droits, nos privilèges sur le site web. Exemple, si j'ai un cookie qui contient "admin=faux;", je le modifie en "admin=vrai;", et le site me reconnaît en tant qu'administrateur.
  • Faille URL : Exactement comme la faille cookie, si ce n'est que la valeur à modifier se trouve dans l'adresse "URL", ou bien l'adresse internet. Exemple : administration.php?admin=faux doit être remplacé par administration.php?admin=vrai.
  • Faille CSRF : C'est en quelque sorte la faille jumelle de la faille XSS. Cette derniére exploite la confiance de l'utilisateur par rapport au site. La faille CSRF (Cross Site Request Forgeries), elle, exploite la confiance du site par rapport à l'utilisateur. Elle consiste simplement à faire visiter une page web à une victime, pour que la page soit exécuté avec les privilèges de la victime, généralement supérieurs aux nôtres. En résumé, cette faille nous permet de faire exécuter des requètes que nous avons au préalable forgées à une personne naïve.
Notez qu'il existe plusieurs autres failles peu connues, qui n'ont aucun nom, mais qui se trouvent facilement via des audits de sécurité.
La partie suivante nous montre comment installer un serveur web en local. Nous pourrons ainsi y développer nos applications web, y laisser des failles, et nous entraîner à les percer.

Aucun commentaire:

Enregistrer un commentaire