« Comprendre la sécurité web - Christophe Villeneuve » : différence entre les versions

De April MediaWiki
Aller à la navigationAller à la recherche
(Contenu remplacé par « Catégorie:Transcriptions Publié [https://www.april.org/comprendre-la-securite-web-c-villeneuve ici] - Mars 2017 »)
 
(17 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
[[Catégorie:Transcriptions]]
[[Catégorie:Transcriptions]]


'''Titre :''' Création de Comprendre la sécurité web
Publié [https://www.april.org/comprendre-la-securite-web-c-villeneuve ici] - Mars 2017
 
'''Intervenant :''' Christophe Villeneuve alias
 
'''Lieu :''' Ubuntu Party - Paris
 
'''Date :''' Novembre 2016
 
'''Durée :'''  42 min 59
 
'''[http://media.ubuntu-paris.org/videos/16.10/comprendre-securite-web.webm Visualiser la conférence webm]'''
 
'''Licence de la transcription :''' [http://www.gnu.org/licenses/licenses.html#VerbatimCopying Verbatim]
 
'''Statut :''' Transcrit MO
 
==00’==
 
Bonjour à tous et bonjour à toutes. Là il y avait une petite image, elle sera mise dans les <em>slides</em> ; je n’ai pas compris pourquoi elle a disparu, mais bon, il y avait un petit bouclier avec un petit chevalier qui était en train d’essayer de pénétrer et de transpercer le bouclier. Donc je trouvais ça rigolo. Mais vous la verrez après.
 
Donc tout d’abord qui je suis ? Je suis Christophe Villeuneuve. Je suis consultant pour l’entreprise AUSY. On est ISO, je ne sais plus le numéro, mais c’est autour de la sécurité donc on est impliqués. Je suis aussi impliqué dans tout ce qui est autour de PHP, MariaDB. Je suis aussi représentant de Mozilla et puis aussi Drupal. Et puis, bien entendu, j’ai amené deux compagnons, on va dire, deux éléphants qui sont là, qui sont toujours très friands de trouver des familles d’adoption et ils sont toujours là aussi pour ramener des bonnes connaissances et des bonnes nouvelles auprès de leur famille et de tout le monde.
 
Je suis aussi auteur du livre <em>Drupal avancé</em>, donc autour du CMS. Et les problématiques de sécurité de sites web, j’ai un certain vécu et tout ce dont on va parler aujourd’hui, il y a certains des cas que j’ai eu la joie et la tristesse aussi de bénéficier, c’est-à-dire me faire pirater. Oui, avant que je me mette vraiment dans la sécurité, parce que c’est toujours très gênant, pour vous je ne sais pas, mais pour l’avenir, lorsqu’on se fait pirater un site internet, c’est toujours désastreux. Pas au niveau utilisation, mais au niveau conséquences. Et là, les conséquences c’est important, donc on va essayer d’anticiper ces conséquences et surtout éviter l’inévitable c’est-à-dire « mince j’ai un joli site, mais il s’est fait hacker. »
 
Bien entendu quelques petits évènements de cette année que j’ai pu organiser.
 
Quand on parle de sécurité, souvent, quand on était jeunes, enfin quand moi j’étais jeune, pour vous je pense que peut-être vous avez déjà eu peur, mais souvent « moi je n’ai pas peur, je ne crains pas la sécurité, c’est pour les autres. Ça ne sert à rien, ce n’est pas le but. Ce n’est pas pour nous, c’est pour les autres. Donc moi je suis tranquille, je ne fais que des choses propres. » Souvent c’est ça que mes collègues ou d’autres personnes, quand je discute, me disent : « Non, non, moi ça va très bien. Les attaques, ah, ah, je rigole, je n’en bénéficie pas. » Manque de pot, à l’heure d’aujourd’hui, il y a 10 ans on disait la même chose et aujourd’hui on le dit encore, toujours, que les attaques ça touche toue le monde. Qu’elle que soit la méthode, qu’elle que soit la technique et même à votre insu vous pouvez vous faire attaquer sans vous en rendre compte.
 
Donc toutes ces notions, cette approche, vous allez avoir peur. Alors ne soyez pas triste, parce qu’à la fin de la session il y a quand même des solutions, mais souvent, quand j’aborde cette thématique autour des sites web, eh bien, souvent après j’ai des questions me disant : « C’est vrai tout ça ? » Donc oui, il y a des choses qui sont vraies, il y a des choses que je ne vais pas pouvoir vous dire ici, que je pourrai vous dire sur le site de Mozilla, tout à l’heure, si vous venez me voir, mais il y a des choses qui peuvent faire très peur. Mais on n’est pas là pour prévoir le pire, on est là pour éviter le pire.
 
Donc quand on parle souvent de sécurité eh bien on a ces petites notions de : « Ça ne sert à rien. C’est pour les autres. La sécurité je ne m’en occupe pas. Je n’ai pas besoin d’antivirus, je suis protégé. » Mais manque de pot, même si vous ramenez une clef USB, même si vous allez sur Internet eh bien déjà l’Internet, c’est déjà une faille de sécurité. Oui ! Déjà juste en allumant votre ordinateur c’est déjà une faille de sécurité parce qu’il n’y a énormément de choses dont vous n’avez pas le contrôle et qui dit ne pas avoir le contrôle dit envoyer les informations où quelqu’un peut faire, à l’insu de votre plein gré, des opérations que vous ne souhaitez pas.
 
Pourquoi parle-t-on de sécurité ? Parce qu’il y a toujours des menaces. On les entend à la radio, on les entend au Journal de 20 heures, mais nous, la sécurité numérique il faut penser que depuis toujours eh bien les hackers, les pirates, toutes ces personnes qui ont des plus ou moins bonnes ou mauvaise intention vont essayer de trouver quelque chose, comme la petite souris, le moyen de récupérer – là ici c’est le morceau de gruyère, même s’il y a le piège – eh bien le hacker, c’est ça. Il va essayer de trouver par n’importe quelle manière de pouvoir pénétrer dans votre site internet. Les risques eh bien c’est de se faire hacker, c’est-à-dire une jolie page noire, où il y a marqué « hacké ». C’est toujours dommageable surtout quand c’est quelqu’un de votre famille qui vous appelle en disant : « Eh ! Ton site on ne peut plus consulter l’information ! »
 
Les conséquences, quand on se fait pirater, c’est que si votre site est fixe, c’est-à-dire des pages qui ne bougent pas, il n’y a pas de bases de données, ce n’est que du contenu, ce n’est pas très gênant. Et encore, on peut se servir de cet espace comme de zone de stockage, c’est-à-dire que votre site ne sera plus du tout accessible. Par contre, s’il possède une base de données, vous allez être confronté à un carnet d’adresses. Donc le carnet d’adresses va être aspiré vers l’extérieur, sans que vous ne vous en rendiez compte. Vous allez perdre des données. Vous allez me dire : « Bon, ce n’est pas grave, j’ai juste quelques données, quelques contenus, je peux les retaper ». Oui, quand c’est un site personnel, quand c’est un blog, quand c’est un site vitrine. Mais lorsqu’on parle de vitrine, c’est aussi un risque. Parce que la vitrine, c’est la vitrine, l’image que vous faites pour vous, pour la compagnie, pour la société où vous bossez. Et si vous faites quelque chose et que la compagnie, d’un seul coup, voit que son site se fait pirater, ce n’est pas bon du tout pour son image, pour continuer sa survie dans les mois et les années après.
 
Pour cela, il existe énormément de pistes pour savoir si les outils, ce que vous avez l’habitude d’utiliser peuvent être à jour. C’est-à-dire, je ne sais pas si vous faites des sites internet, on va dire que oui, vous faites des sites avec un WordPress, un Dotclear, avec un CMS, un Framework, des langages plus compliqués, eh bien tous ceux-ci ont une vie, c’est-à-dire que, régulièrement, il y a des mises à jour comme un logiciel bureautique que vous utilisez tous les jours, un logiciel Windows, un Linux, un LibreOffice, régulièrement vous voyez des mises à jour. Il faut les mettre en place, il faut les appliquer. Le site internet c’est la même chose, parce qu’il y a des choses que référencent des bibliothèques de failles qui s’appellent CVE security<ref>[https://www.cvedetails.com/ CVE security]</ref> où comme là, là je l’ai téléchargée il y a quelques heures, c’est-à-dire qu’il y a quand même en failles très critiques il y a 11 929 sites outils qui sont identifiés, comme quoi on peut pirater. On ne va pas entrer dans les détails, mais ça va impacter tout.
 
Moi ce que j’ai fait, je m’en excuse auprès d’Ubuntu puisqu’ils m’ont accordé de venir ici, j’ai regardé Ubuntu. Ubuntu que vous avez pu utiliser ou télécharger ou installer, puisqu’on est dans une Ubuntu Party, et donc j’ai regardé et je vois qu’en 2016 eh bien il y a quand même encore pas mal de failles de sécurité qui ont été identifiées. C’est-à-dire que le système d’exploitation, aussi, bénéficie de risques de failles, de prises de contrôle, différentes attaques de piraterie. Lorsqu’on clique sur une, là c’était une faille XSS, heureusement on a l’information comme quoi la faille a été détectée telle date et là vous voyez, une semaine après, elle a été corrigée. Donc si vous mettez à jour, comme ici Ubuntu, eh bien vous êtes sauvé parce que les mises à jour sont faites. Le seul risque c’est que vous avez 7 jours avec des failles et des susceptibilités de vous faire pirater.
 
Cependant, les vulnérabilités sont souvent connues. Lorsqu’on fait un site internet, eh bien souvent on oublie de tester la sécurité. Vous faites votre site internet, vous faites votre habillage, vous faites votre contenu, tout est beau, et vous le mettez en production. Le seul problème c’est que le CMS que vous avez utilisé, vous n’avez pas ajouté les modules de sécurité, c’est-à-dire que dans les préférences, où ce sont des extensions supplémentaires, il faut les activer. Lorsque vous activez ces extensions, eh bien vous allez avoir une sécurité supplémentaire fournie par le CMS, le Framework, l’outil que vous utilisez. Si vous n’activez pas ces cases-là, vous allez être confronté à un risque de faille de sécurité.
 
==09’ 30==
 
Il y a aussi beaucoup aussi d’évolutions, c’est-à-dire qu’il y a la partie core, la partie basique que vous utilisez, mais les extensions, les addons, les évolutions, c’est-à-dire que un Dotclear, un CMS, un Framework, il faudra ajouter toujours des modules extérieurs. Ces modules il faut penser à les maintenir, parce que, eux aussi, sont des failles de sécurité, des risques de failles.
 
Les différents types qui peuvent être confrontés lorsqu’on est sur le Net et lorsqu’on fait des sites web, c’est touchant le matériel. Quelqu’un qui vient vers vous et qui utilise votre ordinateur : vous n’avez pas fermé votre session et donc il peut faire des choses à votre insu.
 
Des clefs USB. Les clefs USB sont tellement puissantes et avec un système de cache qu’on met la clef USB, on peut récupérer directement vos identifiants, même si la clef USB a dit qu’elle est vierge.
 
Les smartphones, les mobiles, tous vos téléphones, ce que vous avez dans vos poches, eh bien c’est aussi des failles de sécurité, parce que vous allez aller sur Internet, vous allez pouvoir consulter des informations. Donc tout ceci, si votre site internet ne respecte pas les normes, ne respecte pas les normes de sécurité et les protections, vous allez être confronté à tout ceci.
 
Bien entendu lorsqu’on parlait de logiciel, eh bien le logiciel est aussi, si vous ne le maintenez pas à jour, vous dites : « C’est bon, j’ai ma licence », mais la licence est expirée depuis deux ans ! » Eh bien non, manque de pot, votre logiciel que vous allez utiliser, eh bien pendant deux, vous risquez de bénéficier de ces failles qui ont été décelées et trouvées
 
Le Web : le navigateur. Là aussi. J’ai mis quelques navigateurs, les principaux. Le navigateur est aussi une faille de sécurité, parce que le navigateur qui n’est pas mis à jour, qui n’est pas maintenu, eh bien lorsque vous allez naviguer sur un site internet, avec des comportements malicieux, vous allez pouvoir vous faire pirater.
 
Et pour finir – ce n’est pas fini la conférence – il y a l’Internet des objets : tout ce qui est aujourd’hui et surtout ce qui va sortir demain, tout ce qui est connecté, qu’on voit dans tous les magazines eh bien là-aussi, là on a beaucoup de choses dont parler.
 
Les points faibles, c’est surtout les bases applicatives. Donc on va avoir quelques petits points, d’abord les fonctionnalités de base, la balise qui pose problème et puis, ensuite, on va rentrer plus dans le détail.
 
La principale vulnérabilité c’est ce symbole [est affiché le symbole « < », NdT]. Lorsqu’on fait des sites internet on déclare une balise, HTML, on déclare des fonctionnalités un <em>table</em>, un <div</em>, etc. On commence toujours par cette balise, cet inférieur. Eh bien cet inférieur-là a énormément de possibilités. Vous allez me dire : « C’est juste un caractère ! » Eh bien oui, mais c’est plus qu’un caractère, parce que ce caractère, lorsqu’on le convertit en décimal, on obtient celle valeur-là, [est affiché « &lt; », NdT] ; cette valeur-là peut être interprétée par d’autres logiciels plus ou moins malicieux, plus ou moins compréhensibles. Mais si on manipule des caractères spéciaux, ou normaux, eh bien on peut aussi manipuler des <em>double quote</em>, des <em>simple quote</em>, l’<em>amperstand</em>, inférieur, supérieur. C’est-à-dire que chaque caractère, il existe des fonctionnalités quel que soit le langage que vous utilisez – aussi bien du Python, du C, du Pearl, du PHP, du Ruby ou d’autres – eh bien vous pouvez, à partir de ces fonctionnalités, si vous n’en prenez pas soin, eh bien bénéficier d’une attaque de base. Cette attaque de base, lorsqu’on veut faire une injection, on va utiliser supérieur inférieur en lui disant script quelque chose et il va exécuter du code. Et là on voit le caractère en clair, mais pensez que, comme tout à l’heure la petite souris elle est malicieuse pour attraper le morceau de gruyère, eh bien on peut directement convertir ce caractère en Unicode et si vous n’avez pas géré correctement ce caractère-là, avec le principe de l’Unicode, eh bien vous avez un risque. C’est pour ça que dans vos langages il existe des fonctionnalités qui permettent de neutraliser, de couper toutes ces barrières de supérieur et inférieur.
 
Bien entendu, la fonctionnalité est vraiment pure et dure, mais il n’y a pas que ça, parce que vous savez que l’Internet, le Web c’est tellement un grand univers et dans ce grand univers il y a des <em>trojans</em>, il y a des actions, il y a tout plein d’attaques et différentes méthodes de possibilités de pouvoir pénétrer.
 
On va parler d’un trompe-l’œil que j’aime bien qui s’appelle le steganographe, c’est-à-dire qu’on va cacher quelque chose et vous allez essayer de trouver la réponse. C’est-à-dire que je vais vous montrer une photo et vous allez me dire quelle est la courbe la plus longue dans l’image. Il y en a qui ont peut-être trouvé, d’autres qui n’ont pas trouvé : la courbe la plus longue c’est celle-là ; ce n’est peut-être pas celle que vous pensiez, parce que là ici, elle était au fond, mais je l’avais cachée par une autre image, à votre insu. Ce type d’effet, de représentation, eh bien c’est ce que votre site internet peut faire, c’est-à-dire que votre site il est bien, mais manque de pot, derrière vous vous êtes fait pirater et donc il y a d’autres fonctionnalités, sans que vous en ayez eu le contrôle, parce qu’un pirate a fait quelque chose de malin.
 
Au niveau code comment ça va se comporter ? J’ai pris un petit exemple, un château. Un château fort, à l’époque du Moyen Âge, ils se mettaient toujours en haut des collines avec une seule route d’accès pour forcer ceux qui vont attaquer, les assaillants, de pouvoir passer obligatoirement par cette route pour arriver au château ce qui permettait d’être vu. Un site internet c’est pareil ; il faut penser la même chose. Lorsque vous faites votre site internet, il faut penser comment naviguer, comment accéder aux contenus. Est-ce qu’il faudra des identifiants – un <em>login</em>, un mot de passe ? Est-ce que vous aurez besoin d’accéder différemment par une seule porte d’entrée ou plusieurs. Donc tout ceci ce sont des choses de base. C’est-à-dire qu’il faut forcer l’utilisateur à aller prendre la route. Si vous lui permettez d’aller prendre le petit chemin à côté, il y aura toujours quelqu’un qui va le trouver, le petit chemin à côté, pour contourner la protection et c’est là que ce n’est pas bon. Donc il faut penser comme au Moyen Âge, à l’époque des châteaux. Vous êtes votre site internet en haut de la colline, avec un seul chemin d’accès.
 
Mais sinon, lorsqu’on a des anomalies, quelles qu’elles soient, et surtout pour ne pas donner des pistes supplémentaires auprès des internautes qui vont venir consulter votre site internet, il faut penser que s’ils font n’importe quoi en tapant dans l’URL, eh bien ils peuvent avoir ce genre d’informations : une erreur 404, une erreur 500. C’est-à-dire, ce sont des informations supplémentaires qui sont dévoilées et c’est toujours dommageable, parce que lorsqu’on a ce type d’informations, ça veut dire que, à partir de là, on connaît que c’est un serveur Apache, on peut après remonter l’information comme quel est le langage que vous avez utilisé, les versions, et si votre version n’est pas à jour, eh bien avec le CVE au début, on a l’ensemble des informations pour pouvoir récupérer votre contenu de site internet, juste parce qu’il y avait une page 404 ou une page 500 qui était affichées.
 
Et là, c’est véridique, on peut le faire facilement en cinq/dix minutes et sûrement nettement moins pour quelqu’un de professionnel. Et il faut penser que ces personnes qui ont ces mauvaises intentions, eh bien ont ces habitudes et ont ces techniques pour pouvoir le faire.
 
Bien entendu, pour contrer tout ceci, il faut bloquer ces quatre pages, ces informations eh puis envoyer vos données dans des logs, dans des fichiers qui vous permettront d’être consultés et d’être analysés pour après.
 
Il y a des minimums de sécurité, quand même à respecter, quand on fait son site web, c’est surtout au niveau authentification. C’est une des premières étapes. La première étape c’est de ne rien stocker en clair. Il faut penser à crypter, surtout les données sensibles, les verrouiller, les protéger.
 
Il faut identifier les sessions. Il faut respecter les normes et les protocoles qui sont utilisés. Il existe une doc française qui est traduite, MDN, fournie par Mozilla et cette doc explique l’ensemble de fonctionnalités que vous pouvez ???, française et sans besoin de chercher comment on l’utilise.
 
Contrôler les accès, les droits. Tout ceci c’est important. Il faut penser à ne pas faire un <em>open bar</em>, que toutes les portes soient ouvertes et les fenêtres lorsqu’on veut accéder à une page supplémentaire. C’est-à-dire, lorsque vous tapez votre contenu, vous voulez remplir un nouvel article : lorsque vous saisissez votre nouvel article, vous allez vous identifier pour pouvoir accéder à une autre interface, pour pouvoir taper votre article et après l’enregistrer et ce sera affiché. Eh bien ces accès-là, il faut penser que ça soit un minimum d’accès, pour éviter que n’importe qui, monsieur Tout-le-monde puisse accéder à ces pages.
 
Et bien sûr, lorsqu’on fait des mises à jour des évolutions, il existe des fonctionnalités qui permettent de pouvoir neutraliser l’ensemble de ces points de sécurité.
 
==19’ 58==
Les autres solutions. Là ça va être des solutions externes, parce qu’on a vu les techniques, on a vu différentes choses, ces fonctionnalités sont vraiment celles de base mais vraiment les premières et si on ne les fait pas déjà tout le reste, après, c’est porte ouverte.
 
Donc les autres solutions c’est OWASP. OWASP c’est un organisme, c’est une fondation qui est là, qui fournit énormément de documentation et d’outils pour pouvoir aider les utilisateurs à réaliser un site propre, un site correct, bien sûr tout en respectant les normes et les protocoles.
 
On va essayer d’en voir quelques-uns mais plus en top 10, parce que, régulièrement, tous les deux/ trois ans ils publient un top 10, c’est-à-dire le hit-parade des failles de sécurité identifiées. Et souvent, la première qui ressort régulièrement c’est l’injection. Là c’est aussi la première faille de sécurité importante de l’outil.
 
Je vous ai mis les deux dernières années, les deux derniers numéros, c’est-à-dire 2010/2013. La première version est sortie en 2003, c’est-à-dire que depuis il y en a régulièrement.
 
Lorsqu’on regarde ces analyses, 2013, on reste toujours sur l’ensemble des failles de sécurité, l’injection, on va voir un petit plus dans le détail, juste après, ce que c’est de l’injection. On peut voir aussi qu’il y a une petite perte au niveau XSS [<em>cross-site scripting</em>, NdT]. On peut voir que les mauvaises configurations commencent à être prises en compte, c’est-à-dire qu’il y a certaines failles qui commencent à diminuer. Certains types et certaines méthodes d’attaque de piraterie diminuent, changent. Mais, par contre, on laisse des mauvaises configuration de sécurité, comme aujourd’hui, eh bien les balises de base que je vous ai montrées, pour lesquelles les gens font : « Ah, c’est bon, j’ai confiance en mon outil ! » Manque de pot, ce n’est pas vrai puisque cette faille était ici, donc en huitième position, elle est quand même montée en cinquième, et là, en 2016, ce qui est en train d’être rédigé, eh bien elle doit être en troisième position, donc elle monte en force parce que les fonctionnalités de base, la sécurité, les fonctionnalités de base de HTML, lorsqu’on fait un site internet, eh bien on ne s’en occupe plus. On pense que l’outil qu’on va utiliser fait le nécessaire, en vérité non ! Il faut penser que l’outil ne fait pas le nécessaire, il faut penser à les mettre en place.
 
En top 10, pour 2016, donc c’est une documentation qui est en cours de développement, vous vous avez la chance de l’avoir, j’ai pu l’obtenir cette nuit, donc ce sont les orientations de ce qui nous attend dans le prochain rapport, qui devrait être publié et disponible correctement l’année prochaine, en 2017. C’est-à-dire que la vérification de tout ce qui est sécurité, quel que soit le niveau de votre connaissance, de votre développement, votre navigation, sera toujours l’un des premiers critères et une des premières failles de sécurité.
 
Tout ce qui est communication avec les requêtes, quelles qu’elles soient, les requêtes vers la base de données, eh bien là aussi, ça sera une énorme faille de sécurité qui restera toujours d’actualité. Quand on parle de requête, c’est là où on stocke vos identifiants, votre nom, votre adresse, votre code postal, votre ville, date de naissance, etc., donc toutes ces informations personnelles, et ce n’est pas bon du tout. Tout ce qui est aussi les champs d’entrée, les inputs, l’encodage, donc comme vous pouvez voir il y a énormément de choix et de possibilités qui sont encore d’actualité alors qu’en vérité, on est quand même en 2016, la fondation existe depuis 2001. Ça veut dire que ça fait quinze ans que ça existe et que c’est toujours présent.
 
Au niveau sécurité pour vous, concrètement, eh bien, même si la petite souris a réussi à obtenir gain de cause, il y a toujours le prédateur, le chat qui est toujours aussi malicieux pour réussir à contrer ou pour accéder à sa proie. En comparaison avec les langages du Web, comme vous pouvez le voir, eh bien il y a différentes méthode et quel que soit le niveau, quelle que soit la position, on va prendre un petit exemple : l’injection.
 
L’injection, j’en ai parlé à plusieurs reprises, c’est la première position qui se trouve en haut de tous les hit parades. L’injection va se traduire d’abord du côté serveur, donc pas trop pour nous pour le site web. Là ça sera beaucoup plus du côté architecture, c’est-à-dire du côté là où l’emplacement de votre site web sera stocké.
 
Souvent les failles de sécurité proviennent de la configuration pas à jour, le système d’exploitation, l’OS. Les conséquences, c’est que vous allez transformer votre site web en une machine zombie, c’est-à-dire que c’est quelque chose qui va exécuter une fonctionnalité, pirater quelque chose, récupérer des informations ailleurs. Donc, ce n’est pas bon du tout lorsqu’on administre un site internet, surtout si on n’a pas désactivé les fonctionnalités de base, comme là ici dans php.ini, donc là c’est pour PHP, mais dans Python, dans les autres langages, Ruby, Pearl, etc., il y a aussi l’équivalence, donc à vous de rechercher l’équivalence.
 
Comment ça se présente ? Eh bien si je fais un « echo exec » ou « whoami », eh bien il va me sortir des informations. Je ne l’ai pas mis parce que ça va me sortir mes informations personnelles, donc je ne voulais pas vous les transmettre. Mais si vous voulez le faire chez vous dès demain ou tout à l’heure, exécuter cette fonction, l’éditer sur votre ordinateur, faites-le et vous verrez exactement ce que vous pouvez obtenir.
 
Au niveau SQL, donc c’est vers la base de données. La base de données c’est lorsqu’on remplit un formulaire et qu’on va envoyer à la base de données les informations. Vous remplissez vos coordonnées et quand vous appuyez sur le bouton « confirmer », eh bien ça va envoyer directement à la base de données le nom, l’adresse, votre code postal, la ville, surtout si vous avez fait un site marchand ou autre chose, eh bien ça va envoyer les informations que vous pouvez, après, retrouver sur votre facture, que vous retrouvez sur le bon de livraison, etc.
 
Les conséquences. Eh bien cette communication entre la page internet et la base de données, il y a un tunnel. Ce tunnel, s’il n’est pas sécurisé, il y a un risque d’injection. Votre formulaire n’est pas sécurisé, il ne respecte pas les normes, les protocoles, il va avoir aussi le même problème, son contenu risque d’être volé. Et du côté de la base de données aussi, la même chose. Donc à chaque étape vous avez un risque potentiel de perte de contenu.
 
Par exemple, une petite requête. Là je veux connaître les informations sur mon utilisateur qui a un nom et un mot de passe. Donc là, en s’appuyant sur ce principe-là, donc j’envoie un <em>login</em> un mot de passe, la base de données me répond : « Merci, voilà les informations »
 
Maintenant je n’ai pas le <em>login</em>, je n’ai pas le mot de passe, mais je n‘ai pas sécurisé ma base de données, ma connexion. Je lui dis : « OR 1 = 1 ou passe » et il me répond « merci ». C’est-à-dire que là il va me retourner l’ensemble du contenu de la base de données. Ça marche, je vous l’assure, j’ai déjà fait. Il y a même cette fonctionnalité, c’est-à-dire que là, je lui demande d’effacer le contenu de tous mes contacts, juste à partir de cette fonctionnalité : c’est-à-dire qu’à votre insu, vous allez perdre tous vos abonnés. Bien sûr, au préalable, la personne malveillante aura récupéré le contenu avant, elle aura fait un <em>backup</em> pour elle.
 
Au niveau protection, il faut penser à mettre des antislashs. Vous savez tout à l’heure les <em>quote</em> et <em>double quote</em> que je vous ai montrés, les fonctionnalités la faille la première, eh bien là il y a un intérêt. Donc si vous les neutralisez par l’antislash, eh bien c’est important. Ou utiliser, donc là c’est en PHP, utiliser les fonctionnalités prévues par le langage. Et qui dit fonctionnalités fournies par le langage, eh bien c’est lui qui fait le travail. Donc c’est quand même important d’utiliser et de lire la documentation du livre ou du langage.
 
==29’ 14==
 
Coté front, l’injection

Dernière version du 13 mars 2017 à 06:21


Publié ici - Mars 2017