Testez la sécurité de votre site internet

Testez la sécurité de votre site internet

Nous allons nous intéresser dans, cet article, à un point essentiel de l'audit sécurité d'un site internet : le test d'intrusion (ou pentest).

Lors d'un test d'intrusion, l'objectif est de se mettre dans la peau d'un "pirate informatique" afin de vérifier la robustesse des techniques de sécurité mises en place sur votre site. Il existe deux possibilités lorsque vous souhaitez réaliser un test d'intrusion :
- Le pentest en mode Blackbox (boîte noire) : il n'est pas nécessaire d'avoir une connaissance spécifique de votre site (langage de programmation, type de bases de données...) et aucun accès privilégié (compte membre ou administrateur...) n'est nécessaire. Vous disposerez alors des mêmes éléments qu'un pirate situé à l'autre bout du monde.
- Le pentest en mode Whitebox (boîte blanche): vous disposerez de différents droits sur le site (un compte membre, quelques informations sur le fournisseur de services web etc...)

Afin de tester votre propre site, la solution la plus efficace serait la méthode Blackbox qui vous permettra de trouver (et donc corriger) un plus grand nombre de vulnérabilités.

Tester vous-même la sécurité de votre site internet


Les principales vulnérabilités

Les injections

Les failles de type "injection" (SQL, LDAP...) se produisent lorsqu'un utilisateur malveillant envoie une donnée "d'attaque" à votre interpréteur (votre moteur de bases de données "SGBD", votre annuaire LDAP...).
Un exemple d'injection SQL serait le suivant : vous avez une requête SQL de la forme
$requete = $bdd->query("SELECT * FROM base_utilisateurs WHERE nom='$nom' AND motdepasse='$motdepasse'");"
> Si l'utilisateur renseigne comme nom : 1' OR '1' = '1', le moteur SQL répondra positivement si le nom d'utilisateur est 1 ou si 1=1 (ce qui est toujours le cas). Vous obtiendrez donc l'accès à la donnée sans avoir renseigné le couple "nom / motdepasse".
> Pour vous préserver de cette faille, une solution simple consiste à préparer les requêtes ou à contrôler les informations saisies :
$requete = $bdd->prepare(SELECT * FROM base_utilisateurs WHERE nom=? AND motdepasse=?");
$bdd->execute(array($nom, $motdepasse));


Les failles XSS

La faille XSS se retrouve dans de nombreux sites. Son impact peut-être uniquement esthétique (en faisant afficher au site une information non prévue) ou plus grave, dégrader le contenu de votre site en y supprimant ou altérant des données.
La faille XSS peut se produire lorsqu'une variable POST ou GET n'est pas correctement gérée.
> Toutes les infos sur la faille XSS dans notre article dédié : Faille XSS ou le Cross Site Scripting.

Mots de passe faibles

De trop nombreux webmasters utilisent des mots de passe faibles dans au moins une des applications de son site internet.
Pensez à utiliser des mots de passe complexes pour l'ensemble de vos outils : hébergement, serveur ftp, bases de données MySql, CMS...). Pour rappel, un mot de passe fort se doit de contenir un minimum de douze caractères aléatoires (chiffres, minuscules, majuscules, caractères spéciaux).
Vous pouvez en savoir plus sur notre article dédié à la gestion des mots de passe.

Découvrez également le top 10 des vulnérabilités dans notre article sur le TOP 10 OWASP.

Pour aller plus loin

https://pentesterlab.com : vous trouverez sur ce site un grand nombre d'entraînements gratuits afin de vous exercer au test d'intrusion.

Et si vous avez besoin qu'un test d'intrusion ou qu'un audit de sécurité soit réalisé sur votre infrastructure ou spécifiquement sur votre site internet, découvrez nos audits, ou appelez-nous pour échanger sur votre projet au 0 950 950 750.


Une question, un besoin ?

Nous sommes à votre écoute !