From 5065834b3b7f0ca9173b14ea471f9dd4308465fe Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Tue, 25 Nov 2014 11:29:54 +0100 Subject: [PATCH] . --- unix_prog_web/unix_prog_web_09.xhtml | 78 +++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 7 deletions(-) diff --git a/unix_prog_web/unix_prog_web_09.xhtml b/unix_prog_web/unix_prog_web_09.xhtml index d2166a9..c5267ae 100644 --- a/unix_prog_web/unix_prog_web_09.xhtml +++ b/unix_prog_web/unix_prog_web_09.xhtml @@ -36,9 +36,9 @@ - +
-

Programmation Internet

+

Unix et Programmation Web

Cours 9

kn@lri.fr
http://www.lri.fr/~kn @@ -171,7 +171,23 @@ les clés au départ est bien Bob ?

+
+

Une analogie

+

La cryptographie assymétrique fonctionne exactement comme + l'analogie de la boîte aux + lettres. Pourquoi ? +

+ +

HTTP: protocole texte « en clair »

HTTP est un protocole texte, les données ne sont @@ -246,7 +262,7 @@

  • Mallory peut retransmettre les requêtes entre Bob et Alice, en les modifiant au passage. Le problème est causé par un manque d'authentification (Mallory n'a pas a - prouver à Alice qu'il est Bob) + prouver à Alice qu'il est Bob)
  • @@ -324,10 +340,37 @@ IP (application). On peut donc avoir connaissance du nombre de paquet échangés, des adresses IP des participants, la taille et la fréquence des paquets… (même si on n'en connait pas le - contenu). Cela permet certaines attaques statisties ou de deni - de service. + contenu). Cela permet certaines attaques statistiques ou de deni + de service (DoS).

    +
    +

    Bug dans HTTPS: Heartblead

    +

    Heartblead est un bug découvert en 2014 dans la + bibliothèque OpenSSL (Bibliothèque qui implémente toutes les + primitives cryptographiques de bas niveau nécessaire à HTTPS, + entre-autres, et utilisée par tout le monde). Cette attaque + touche la partie heartbeat du + protocole. Le heartbeat est un message périodique + envoyé par le client au serveur pour lui demander si la + connexion/session est toujours active (ou pour lui signaler de + ne pas la fermer). +

    + +

    Confidentialité, traîtement des cookies

    Traçage par cookies

    @@ -436,8 +479,8 @@

    Injection de code PHP

    Problème lié à l'utilisation de la fonction - eval(command) - command est une chaîne de caractères + eval($code) + $code est une chaîne de caractères considérée comme étant du code PHP et eval exécute cette chaîne:

    @@ -462,6 +505,27 @@
  • Toujours valider les entrées d'un utilisateur
  • +
    +

    Injection de code SHELL (en PHP)

    +

    Problème lié à l'utilisation de la fonction + exec($command, &$output) + Cette fonction exécute dans un SHELL la + commande $command. Les lignes de la sortie standard + de la commande sont placées dans le table $output + passé en référence. (Démo avec unzip -l).
    + Solutions: +

    +
      +
    • Ne jamais passer à exec directement une chaîne crée par + l'utilisateur
    • +
    • Recréer sois-même la chaîne de caractères, échapper les + caractères spéciaux et remettre le tout dans une chaîne pour + éviter les expansions du SHELL
    • +
    • Utiliser des fonctions de la bibliothèque standar quand + elle existes (par exemple rename plutot + que exec('mv ...')).
    • +
    +

    Injection de code SQL

    SQL: language de requête permettant d'interroger des bases de -- 2.17.1