You must be registered for see images attach
Salut à tous , vous avez peut-être lu la première version de ce tutoriel (Comment combler les failles de sécurité web les plus courantes ?) et bien sachez que vous lisez aujourd'hui la deuxième.
You must be registered for see images attach
Commençons si vous le voulez bien par une faille qui se situe au niveau des cookies de vos utilisateurs, il n'est pas rare de voir des informations stockées dans ceux-ci et c'est principalement leur but.
Mais cela peut-être également une mauvaise pratique, comme je vais le démontrer dans le cas suivant.
You must be registered for see images attach
Prenons l'exemple de ce site web, nous pouvons voir qu'il y a pas mal de cookies d'enregistrés mais si vous regardez bien le dernier est très intéressant puisqu'il se nomme userInfos.
Code:
nom%22%3A%RG%22%2C%22prenom%22%3A%22Rivals%22%2C%22F45a1875142e511b4Z26S6d3c9e1c0daa.jpg%22%7D
Nous pouvons voir clairement que dans celui-ci y figure notre nom d'utilisateur, imaginons qu'un utilisateur malveillant souhaite passer de l'HTML dans celui-ci en modifiant le cookie.
COOKIE MODIFIE
Code:
nom%22%3A%RG%22%2C%22prenom%22%3A%22<marquee>Rivals</marquee>%22%2C%22F45a1875142e511b4Z26S6d3c9e1c0daa.jpg%22%7D

Comme vous pouvez le voir, le code a été interprété ainsi l'HTML est fonctionnel. Vous pourrez vous le douter si je présente ceci c'est que dans l'état actuel des choses ce n'est pas dangereux pour le site mais imaginons un système plus proche d'une authentification dans lequel vous auriez un cookie nommé is_admin est que la valeur est à 0 vous auriez moins le sourire si l'un de vos utilisateurs modifie cette valeur par 1.
You must be registered for see images attach
Pour combler cette faille vous pouvez utiliser la méthode permettant de combler la faille XSS ainsi vous pouvez utiliser la fonction PHP appelée
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
mais ceci dit je vous conseille très clairement de ne pas stocker des informations tel que l'identifiant de la personne, son pseudo ou autre donnée sensible.Privilégiez plutôt la SESSION pour stocker l'identifiant du membre par exemple.
PHP:
<?php
// on démarre l'utilisation de la session
session_start();
// on stock l'userId de la personne
$_SESSION['userId'] = 1;
echo $_SESSION['userId'];
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
You must be registered for see images attach
Parlons d'une faille très dangereuse qui se nomme LFI pour Local File Inclusion, son principe réside dans le fait de remonter la hiérarchie de vos dossiers afin d'atteindre le coeur même de la machine sur laquelle est hébergée votre site dans le but de récupérer des mots de passe et tout ceci par le biais d'un code permettant l'inclusion de fichier.
Imaginons que je possède une machine, un VPS sur lequel j'héberge mon site personnel et un dossier dans lequel je met un fichier contenant des mots de passe. Sur ce site, j'ai souhaité optimiser mon code afin d'afficher des pages PHP très simplement.
Ainsi j'ai un paramètre page qui va contenir le nom du fichier que je veux afficher, ainsi il me suffira de créer des liens de ce type :
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
You must be registered for see images attach
Simple non ? :
Peut-être simple mais faillible, en effet si je suis un utilisateur un peu curieux je vais chercher à remonter jusqu'à certains dossiers sensibles ce qui est dangereux pour vous.
You must be registered for see images attach
Ainsi en remontant intelligemment il est facile d'accéder à des données sensibles, c'est du moins l'idée que j'essaye de vous inculquer car le mot de passe que j'ai montré est chiffré normalement.
Parlons maintenant de la faille RFI, celle-ci a pour principe celui de la LFI simplement cette fois-ci la personne malveillante ne cherchera pas à rechercher un mot de passe (ce n'est pas son seul but) mais plutôt à exécuter du code malveillant grâce à un fichier PHP par exemple qui serait hébergé sur un site extérieur afin de détourner votre site.
You must be registered for see images attach
Pour combler ces deux failles, je recommande de faire un tableau des fichiers accessibles et de vérifier si la valeur du paramètre page vaut l'une des valeurs du tableau que vous avez crée précédemment.
PHP:
<?php
$pages = ['contact.php'];
if(in_array($_GET['page'], $pages) && isset($_GET['page']))
{
include($_GET['page']);
}
else
{
die('Erreur.');
}
?>
You must be registered for see images attach
You must be registered for see images attach
La faille est comblée
Rivals
Dernière édition: