top of page
cloud-vds.png
  • 2 Base de données

  • 2 VPS AMD

  • 4 instances ARM

  • Stockage 100 Go

  • 50k appels API

theme-light-dark-white.png
Photo du rédacteurNeo is calling you

Apprendre la cybersécurité - Activités pratiques en développement sécurisé

Dernière mise à jour : 11 juin

La sécurité en développement est un pilier crucial de la cybersécurité. Elle consiste à intégrer des pratiques sécuritaires dès les premières étapes de la conception et du développement d'applications, afin de prévenir les vulnérabilités et de protéger les données sensibles. Dans le contexte actuel où les cyberattaques sont de plus en plus sophistiquées, comprendre et mettre en œuvre des mesures de sécurité dans le développement logiciel est essentiel.


Ces exercices vous guideront à travers des scénarios pratiques pour identifier et corriger les vulnérabilités courantes dans le code. Vous apprendrez à sécuriser vos applications contre des attaques telles que les injections SQL et les failles XSS (Cross-Site Scripting). Chaque exercice est conçu pour vous familiariser avec des techniques spécifiques, en vous fournissant les connaissances nécessaires pour développer des applications robustes et sécurisées.



Validation des Entrées Utilisateur


Objectif :

Apprendre à valider et à assainir les entrées utilisateur pour prévenir les vulnérabilités courantes telles que les injections SQL, les failles XSS, et autres attaques basées sur les entrées non sécurisées.


Prérequis :


  • Connaissance de base en PHP et HTML.

  • Serveur web local (comme LAMP, XAMPP ou WAMP).


Instructions :


  • Créez un simple formulaire HTML permettant à l'utilisateur d'entrer son nom et son adresse email.

  • Traiter les données en PHP pour éviter les inclusions de caractères malicieux.


Correction et explications


 

Protection contre l'Injection SQL


Objectif : Comprendre et implémenter des mesures de sécurité pour prévenir les attaques par injection SQL.


Instructions


  • Créez une base de données simple avec une table d'utilisateurs.

  • Écrivez une requête SQL vulnérable à l'injection SQL.

  • Modifiez le code pour utiliser des requêtes préparées afin de prévenir l'injection SQL.


Étapes


1. Création de la base de données et de la table :


  • Utilisez un SGBD (par exemple, MariaDB, MySQL ou PostegreSQL) pour créer une base de données et une table users.

  • Insérez ensuite au moins un utilisateur dans cette table (par exemple, admin)


2. Requête SQL vulnérable :


  • Écrivez une requête SQL dans un fichier en PHP (par exemple, login.php) qui est vulnérable à l'injection SQL.

  • Ouvrez votre navigateur et accédez au fichier login.php.

  • Injectez des requêtes SQL malveillantes pour voir si l'application est vulnérable.

3. Utilisation de requêtes préparées :


  • Modifiez le code pour utiliser des requêtes préparées et prévenir l'injection.

  • Re testez l'application en utilisant la même injection SQL que précédemment.



Correction et explications


Protection contre les failles XSS


Objectif : Apprendre à identifier et à prévenir les failles XSS en comprenant comment un attaquant peut injecter des scripts malveillants dans une application web.


Prérequis :

  • Connaissance de base en PHP et HTML.

  • Serveur web local (comme XAMPP ou WAMP).


Étapes :


1. Création d'une Application Web Vulnérable


Créez un simple formulaire HTML permettant à l'utilisateur de soumettre un commentaire, puis affichez ce commentaire sur la même page sans validation.


<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $comment = $_POST['comment'];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Commentaires</title>
</head>
<body>
    <form method="post" action="">
        Commentaire: <input type="text" name="comment">
        <input type="submit" value="Soumettre">
    </form>

    <h2>Commentaires:</h2>
    <p><?php echo $comment; ?></p>
</body>
</html>

2. Injection d'un Script Malveillant :


Soumettez le formulaire avec un script malveillant comme commentaire :


<script>alert('XSS Attack!');</script>


Lorsque le commentaire est affiché, le script sera exécuté, montrant une alerte avec le message "XSS Attack!".


3. Compréhension du Comportement de la Requête :


Le formulaire envoie les données du commentaire via une requête POST.

La valeur de $_POST['comment'] est affichée directement sans validation, ce qui permet l'injection de code JavaScript.


4. Prévention de la Faille XSS


Modifiez le script PHP pour utiliser htmlspecialchars() afin de convertir les caractères spéciaux en entités HTML, empêchant ainsi l'exécution du script.


<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $comment = htmlspecialchars($_POST['comment'], ENT_QUOTES, 'UTF-8');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Commentaires</title>
</head>
<body>
    <form method="post" action="">
        Commentaire: <input type="text" name="comment">
        <input type="submit" value="Soumettre">
    </form>
    <h2>Commentaires:</h2>
    <p><?php echo $comment; ?></p>
</body>
</html>

5. Vérification de la Protection


Soumettez à nouveau le formulaire avec le script malveillant :


<script>alert('XSS Attack!');</script>

Cette fois, le script ne sera pas exécuté, et le commentaire affichera littéralement <script>alert('XSS Attack!');</script>.

Posts similaires

Voir tout

Comments


Apprendre la cybersécurité - Activités pratiques en développement sécurisé

La sécurité en développement est un pilier crucial de la cybersécurité. Elle consiste à intégrer des pratiques sécuritaires dès les premières étapes de la conception et du développement d'applications, afin de prévenir les vulnérabilités et de protéger les données sensibles. Dans le contexte actuel où les cyberattaques sont de plus en plus sophistiquées, comprendre et mettre en œuvre des mesures de sécurité dans le développement logiciel est essentiel.


Ces exercices vous guideront à travers des scénarios pratiques pour identifier et corriger les vulnérabilités courantes dans le code. Vous apprendrez à sécuriser vos applications contre des attaques telles que les injections SQL et les failles XSS (Cross-Site Scripting). Chaque exercice est conçu pour vous familiariser avec des techniques spécifiques, en vous fournissant les connaissances nécessaires pour développer des applications robustes et sécurisées.



Validation des Entrées Utilisateur


Objectif :

Apprendre à valider et à assainir les entrées utilisateur pour prévenir les vulnérabilités courantes telles que les injections SQL, les failles XSS, et autres attaques basées sur les entrées non sécurisées.


Prérequis :


  • Connaissance de base en PHP et HTML.

  • Serveur web local (comme LAMP, XAMPP ou WAMP).


Instructions :


  • Créez un simple formulaire HTML permettant à l'utilisateur d'entrer son nom et son adresse email.

  • Traiter les données en PHP pour éviter les inclusions de caractères malicieux.


Correction et explications


 

Protection contre l'Injection SQL


Objectif : Comprendre et implémenter des mesures de sécurité pour prévenir les attaques par injection SQL.


Instructions


  • Créez une base de données simple avec une table d'utilisateurs.

  • Écrivez une requête SQL vulnérable à l'injection SQL.

  • Modifiez le code pour utiliser des requêtes préparées afin de prévenir l'injection SQL.


Étapes


1. Création de la base de données et de la table :


  • Utilisez un SGBD (par exemple, MariaDB, MySQL ou PostegreSQL) pour créer une base de données et une table users.

  • Insérez ensuite au moins un utilisateur dans cette table (par exemple, admin)


2. Requête SQL vulnérable :


  • Écrivez une requête SQL dans un fichier en PHP (par exemple, login.php) qui est vulnérable à l'injection SQL.

  • Ouvrez votre navigateur et accédez au fichier login.php.

  • Injectez des requêtes SQL malveillantes pour voir si l'application est vulnérable.

3. Utilisation de requêtes préparées :


  • Modifiez le code pour utiliser des requêtes préparées et prévenir l'injection.

  • Re testez l'application en utilisant la même injection SQL que précédemment.



Correction et explications


Protection contre les failles XSS


Objectif : Apprendre à identifier et à prévenir les failles XSS en comprenant comment un attaquant peut injecter des scripts malveillants dans une application web.


Prérequis :

  • Connaissance de base en PHP et HTML.

  • Serveur web local (comme XAMPP ou WAMP).


Étapes :


1. Création d'une Application Web Vulnérable


Créez un simple formulaire HTML permettant à l'utilisateur de soumettre un commentaire, puis affichez ce commentaire sur la même page sans validation.


<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $comment = $_POST['comment'];
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Commentaires</title>
</head>
<body>
    <form method="post" action="">
        Commentaire: <input type="text" name="comment">
        <input type="submit" value="Soumettre">
    </form>

    <h2>Commentaires:</h2>
    <p><?php echo $comment; ?></p>
</body>
</html>

2. Injection d'un Script Malveillant :


Soumettez le formulaire avec un script malveillant comme commentaire :


<script>alert('XSS Attack!');</script>


Lorsque le commentaire est affiché, le script sera exécuté, montrant une alerte avec le message "XSS Attack!".


3. Compréhension du Comportement de la Requête :


Le formulaire envoie les données du commentaire via une requête POST.

La valeur de $_POST['comment'] est affichée directement sans validation, ce qui permet l'injection de code JavaScript.


4. Prévention de la Faille XSS


Modifiez le script PHP pour utiliser htmlspecialchars() afin de convertir les caractères spéciaux en entités HTML, empêchant ainsi l'exécution du script.


<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $comment = htmlspecialchars($_POST['comment'], ENT_QUOTES, 'UTF-8');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Commentaires</title>
</head>
<body>
    <form method="post" action="">
        Commentaire: <input type="text" name="comment">
        <input type="submit" value="Soumettre">
    </form>
    <h2>Commentaires:</h2>
    <p><?php echo $comment; ?></p>
</body>
</html>

5. Vérification de la Protection


Soumettez à nouveau le formulaire avec le script malveillant :


<script>alert('XSS Attack!');</script>

Cette fois, le script ne sera pas exécuté, et le commentaire affichera littéralement <script>alert('XSS Attack!');</script>.

Validation des Entrées Utilisateur

Protection contre l'Injection SQL

Protection contre les failles XSS

bottom of page