Authentification, droits d'accès et sécurité des applis web

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Authentification, droits d'accès et sécurité des applis web"

Transcription

1 Authentification, droits d'accès et sécurité des applis web

2 Identification : savoir qui est l'utilisateur basé sur des nom de login enregistrés : base de données, annuaires, fichiers Authentification : être sur que c'est bien cette personne comparaison de mots de passes cryptés Droits d'accès : attribution de droits en fonction de l'identité authentifiée : résultat du processus de login contrôler que les utilisateurs accèdent à des ressources conformément à leur rôle : comparaison entre droits exigés et droits obtenus Contrôle pour chaque opération nécessitant un doit spécifique

3 Utilisation de variables de sessions pour le contrôle d'accès Principe : le profil de l'utilisateur (identité, droit) est chargé dans une variable de session lorsque l'authentification est réussie Contrôle : accès au profil stocké en session à chaque opération nécessitant des droits particuliers 4 opérations : Contrôle des credentials, chargement du profil en session Contrôle des droits attribués par rapport à une exigence création des utilisateurs

4 réaliser réaliser l'authentifi l'authentifi cation cation :: contrôler contrôler identifi identifi ant ant et et mot mot de de passe passe charger charger le le profi profi l l d'un d'un utlisateur utlisateur en en session session comparer comparer required required et et le le contenu contenu de de la la variable variable de de session session stockant stockant le le profi profi l l de de l'utilisateur l'utilisateur courant courant créer créer un un utilisateur utilisateur et et défi défi nir nir ses ses droits droits

5 gestion de la connexion contrôler les données fournies par l'utilisateur charger le profil en session : détruire puis re-créer la variable de session $u=$_post['uname']; $p=$_post['password']; try { Authentication::Authenticate($u,$p) ; Authentication::loadProfile( $u ) ; }catch (AuthException $ae) { echo bad login name or passwd<br>"; }

6 Une fonction/méthode de contrôle des droits accède à la variable de session compare le droit exigé et le droit obtenu $required_level = ADMIN_LEVEL; try { Authentication::checkAccessRights($required_level) ; } catch (AuthException $ae) { echo access denied!<br>"; }

7 création d'un utilisateur : enregistre l'identifiant et le mot de passe dans la base $u=$_post['uname']; $p=$_post['password']; try { Authentication::createUser($u,$p) ; }catch (AuthException $ae) { echo bad login name or passwd<br>"; }

8 Le processus d'authentification Principe : l'utilisateur fournit un couple (identifiant, mot de passe) Ce couple est comparé aux informations stockées dans la base Problème : sécuriser le processus Interception du mot de passe échangé entre le client et le serveur Vol des mots de passe dans la base Attaque force brute / dictionnaire

9 principes de base mots de passe difficiles à deviner Taille suffisamment longue Alphabet de grande taille (min., maj. chiffres, symboles) hors dictionnaire mots de passe inutiles s'ils sont interceptés ou volés Ne JAMAIS stocker un mot de passe en clair Ne JAMAIS envoyer un mot de passe en clair dans une requête HTTP

10 encodage des mots de passe les mots de passe sont encodés avec une fonction de hachage génère un cypher de taille fixe fonction non bijective : décodage impossible MD5 : cypher de 128 bits (16 octets) SHA-1 : cypher de 160 bits SHA-2 : cypher de 256/384/512 bits (sha-256, sha- 512) bcrypt : blowfish + itérations et sel En php : fonction hash Ex : $empreinte = hash('sha-256', $pass) ;

11 les attaques "force brute" Attaque par force brute ou dictionnaire Force brute : essayer toutes les combinaisons possibles Utiliser un dictionnaire de mots de passe : https://dazzlepod.com/uniqpass/ protection : Mots de passe longs, utilisant un large alphabet Nb de combinaisons : A L(P) Mots de passe hors dictionnaire fonction de hachage lente : itérer le hachage

12 attaques par table "arc-en-ciel" (rainbow table) les mots de passes sont stockés hachés Faire la comparaison mdp fourni / mdp stocké sur les hasch Attaque par table arc-en-ciel : On stocke les mdp hachés avec SHA256 dans la base La base est attaquée, les mdp haschés sont volés L'attaquant utilise une table inverse «arc-en-ciel» qui permet de retrouver un mot à partir d'un hash

13 contre-mesures «Saler» les mots de passes : ajouter un aléa avant de le crypter on stocke : E = hash( mdp + alea ) pour comparer : hash( fourni + alea ) == E?? Un sel unique connu de l'application Pb en cas : un mdp cassé met en danger tous les autres Un sel par mot de passe : Aléa généré lors de l'enregistrement initial du mot de passe Aléa stocké dans la base avec le mot de passe

14 en pratique (I) utiliser une politique de mots de passes : longueur, MAJ, min, etc sur le client : pour aider l'utilisateur sur le serveur : pour assurer la sécurité exemple avec la librairie ircmaxell/password-policy $policy = new \PasswordPolicy\Policy; $policy->contains('lowercase', $policy->atleast(2)); $policy->length( 6 ) ; $js = $policy->tojavascript() ; echo "var policy = $js" ; $result = $policy->check( $password ) ; utiliser une police en rapport avec le risque

15 en pratique (II) hachage et salage des mots de passe : utiliser bcrypt hachage blowfich, salage itérations paramétrables exemple avec la librairie ircmaxell/php-passwordlib // hacher un mot de passe $lib = new PasswordLib\PasswordLib(); $hash=$lib->createpasswordhash($password); $hash=$lib->createpasswordhash($password,'$2a$',array('cost'=> 12)); // vérifier un mot de passe $crypt = new PasswordLib\PasswordLib; if (!$crypt->verifypasswordhash($password, $hash)) { //Invalid Password! }

16 Résumé : Attaque force brute ou dictionnaire : imposer une longueur et un alphabet, ralentir le hachage (itération) Attaque par interception : mot de passe haché Attaque par table arc-en-ciel : mot de passe haché + salé

17 Le contrôle d'accès Lieux de contrôle minimum : dans chaque programme accessible via une URL dans les actions des différents contrôleurs de l'application

18 Différents modèle de droits Individuel : les droits sont attribués spécifiquement à chaque individu Rôle : les droits sont attribués à un rôle, les utlisateurs ont un rôle Différents types de droits par niveaux : hiérarchie de droits les droits à 1 niveau donnent accès aux niveaux inférieurs ''enregistré'' < ''moderateur'' <''admin'' <''superadmin'' par clés : l'exécution d'une opération nécessite de posséder une clé profil : ensemble de clés déterminant les opérations permises

19 Un exemple utilisateurs stockés dans une table droits d'accès par niveau la variable de session est un tableau

20 Structure de la variable de session array( username' => 'james007', 'userid' => 7, 'role_id' => 12, 'client_ip' => ' ', 'auth-level' => ) la variable est créée et enregistrée dans la session au moment de la connexion par la méthode loadprofile() A chaque contrôle de droits : on accède à la variable de session pour vérifier son existence et sa valeur condition de validation des droits : $_SESSION[ 'profile'][ 'level' ] >= $required_level

21 class Authentication { public static createuser ( $username, $password ) { // vérifier la conformité de $password avec la police // si ok : hacher $password // créer et sauvegarder l'utilisateur } public static Authenticate ( $username, $password ) { // charger utilisateur $user // vérifier $user->hash == hash($password) // charger profil ($user->id) } private static loadprofile( $uid ) { // charger l'utilisateur et ses droits // détruire la variable de session // créer variable de session = profil chargé } public static checkaccessrights ( $required ) { si Authentication::$profil['level] < $required throw new AuthException ; }

22 Sécurité des applis web : quelques principes de base Les échanges entre le client et le serveur ne sont pas sûrs : il faut envisager la possibilité qu'ils soient détournés On ne connait pas la provenance des requêtes, même à l'intérieur d'une session Ne jamais faire confiance aux données fournies par l'utilisateur Variables GET/POST/COOKIE Fichiers uploadés

23 Injection SQL injection de commandes SQL dans l'application, pour éxecuter des requêtes non prévues <? $user=$_post['user']; $pass=$_post['pass']; $query="select * from users where uname='$user' AND upass='$pass'"; $res=mysql_query($query); if (mysql_num_rows($res) >0 ) { $auth=1;?> Supposons $_POST['user'] = "admin' #" Alors : $query = SELECT * from users where uname='admin' #' AND upass=''"; Cette requête retourne TOUJOURS une ligne!!!

24 Autres types d'injection Utiliser UNION pour étendre la requête Utiliser des conditions toujours vraies que l'on combine avec un OR Autre blague : public function findbyid($id) { $sel = '' select * from user where id = $id'' ; $pdo->query($query) ; } admib.php?a=disp&id=1;drop%20table%20user; select * from user where id = 1;DROP TABLE user;

25

26 Comment résister utiliser exclusivement des requêtes préparées : La requête exécutée est celle qui a été préparée Forcer les types des données reçues : Intval(), boolval(), strval() Filtrer les données reçues par l'application (GET, POST, COOKIE) pour éliminer le code SQL éventuellement présent limiter les droits de l'utilisateur se connectant à la base éviter de montrer la structure de la base : erreurs, noms des colonnes, des tables

27 Cross Site Scripting (XSS) Principe : insérer des balises html avec des scripts dans des données qui sont affichées par l'application <??> echo "votre recherche {$_POST['query']} a echoue <br>" ; Dans le formulaire, on saisit : "<script> alert("coucou Bilou");</script> Ou un script plus méchant!

28

29 Comment résister Filtrer les données reçues pour éliminer les scripts Fonctions: strip_tags() : retire TOUS les tags html d'une string htmlspecialchars() : convertit les caractères spéciaux html en caractères affichables : "<" &lt <?php $new = htmlspecialchars("<a href='test'>test</a>", ENT_QUOTES); echo $new; // <a href=&#039;test&#039;>test</a>?>

30 Cross-Site Request Forgeries (CSRF) Principe : requêtes fabriquées par un site malveillant, exécutées par un utilisateur à son insu alors qu'il est éventuellement en cours de session sur votre site Exemples : 1. Vous êtes connecté, session en cours sur socio.pat.net 2. Quelqu'un y a uploadé un lien vers site.mechant.net 3. Vous cliquez sur lien, vous arrivez sur un formulaire, que, naïvement vous remplissez et postez 4. De manière amusante, l'action du formulaire que vous venez de poster est :

31 Même problème avec les balises img : <img src="http://socio.pat.net/home.php?a=del_gallery&id=1" alt="" /> Ce lien peut simplement être inséré sur une page du site socio.pat.net La requête sera exécutée lors de l'accès à cette page

32 Comment résister Garantir que les requêtes sont issues de l'interface de votre application uniquement Principe : Ajouter un jeton aléatoire (par ex. hash('sha256', uniquid() ) ) Le jeton est stocké en session Il est ajouté dans un champ hidden des formulaires lors de la construction des vues Reçu et comparé lors du traitement des requêtes et/ou des formulaires

33 Sécurisation des sessions Problème : un attaquant obtient un identifiant de session et acquiert ainsi les droits associés Comment résister : Stocker IP du client dans la session, vérifier qu'elle ne change pas Générer un nouvel identifiant de session lorsque l'utilisateur change de rôle (e.g. Il s'authentifie, acquiert de nouveaux droits ) session_regenerate_id()

34 inclusion de fichiers distants La bonne blague : <? $page = $_GET['page']; include($page);?> Encore plus amusant : NE JAMAIS FAIRE UN INCLUDE/REQUIRE AVEC UN NOM PROVENANT DE L'EXTERIEUR

35 Autre cas d'école : fichiers textes.inc,.ini accessibles par une url /app/config/config.db.ini => la config db en clair!! solution = hors de DocRoot ou deny all dans.htaccess Fichiers uploadés : ATTENTION.html,.php, exécutables NE JAMAIS LES AFFICHER Les stocker de manière inaccessible à une url Les bannir si possible

36 Restreindre les informations Éviter d'exposer des informations sur votre environnement Error reporting dans un fichier de log uniquement Error_reporting=e_none Display_errors=false Pas de fichiers d'inclusion se terminant par.inc Cacher le fait que vous utilisez PHP Expose_php="off" L'extension par défaut peut aussi être changée (config apache)

Configuration/Sécurité et performances avec PHP

Configuration/Sécurité et performances avec PHP Configuration/Sécurité et performances avec PHP Deux installations pour PHP apache Comme un module CGI Chaque invocation d'un script php entraine le démarrage d'un processus Un binaire PHP est exécuté

Plus en détail

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr

Sécurite Web. Xavier Tannier xavier.tannier@limsi.fr. Yann Jacob yann.jacob@lip6.fr Sécurite Web Xavier Tannier xavier.tannier@limsi.fr Yann Jacob yann.jacob@lip6.fr Généralités 80 % des sites contiennent au moins une faille de sécurité 24 familles de failles différentes : on ne présente

Plus en détail

Sécurité d un site php

Sécurité d un site php Sensibilisation IUT de Fontainebleau 8 juin 2015 1 2 1 2 Enjeux L application manipulent-ils des données fiables? L application interagit-elle avec le bon interlocuteur? Le secret des données échangées

Plus en détail

PHP et MySQL : notions de sécurité

PHP et MySQL : notions de sécurité PHP et MySQL : notions de sécurité Jean-Baptiste.Vioix@u-bourgogne.fr Dans ces quelques lignes des notions de sécurité élémentaires vont être présentées. Elles sont insuffisantes pour toute application

Plus en détail

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

Plus en détail

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse

Plus en détail

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement Guillaume HARRY l Contenu sous licence Creative Commons CC-BY-NC-ND Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement P. 2 1. Introduction 2.

Plus en détail

T. HSU Sécurité des programmes PHP

T. HSU Sécurité des programmes PHP Sécurité des programmes PHP T. HSU IUT de LENS, Département informatique November 13, 2012 Part I Introduction à PHP Fonctionnement 1 : Requète PHP 2 : Aller chercher la page MySQL Page PHP Moteur PHP

Plus en détail

OWASP Top Ten 2007 Sommaire exécutif

OWASP Top Ten 2007 Sommaire exécutif OWASP Top Ten 2007 Sommaire exécutif Benoit Guerette, gueb@owasp.org Montreal Chapter Leader 24 février 2009 OWASP Education Project Copyright 2007 The OWASP Foundation Permission is granted to copy, distribute

Plus en détail

Vulnérabilités logicielles Injection SQL

Vulnérabilités logicielles Injection SQL MGR850 Hiver 2014 Vulnérabilités logicielles Injection SQL Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan SQL Injection SQL Injections

Plus en détail

Sécurité d un site PHP

Sécurité d un site PHP Sécurité d un site PHP Lundi 16 mai 2011 Jean-Ferdinand Susini Les impératifs de sécurité Une application Web est une application distribuée sur Internet => problème de sécurité : Les programmes de l application

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016

Programmation Web. Sites dynamiques et bases de données. Mathieu Lacroix. I.U.T. de Villetaneuse. Année 2015-2016 Programmation Web Sites dynamiques et bases de données Mathieu Lacroix I.U.T. de Villetaneuse Année 2015-2016 E-mail : mathieu.lacroix@iutv.univ-paris13.fr Page Web : http: // www-lipn. univ-paris13. fr/

Plus en détail

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP

Plus en détail

Injections SQL Adrien Baborier, créateur de l extension AcyMailing Nicolas Claverie, créateur de l extension HikaShop

Injections SQL Adrien Baborier, créateur de l extension AcyMailing Nicolas Claverie, créateur de l extension HikaShop Comprendre et éviter les failles les plus répandues Injections SQL Adrien Baborier, créateur de l extension AcyMailing Nicolas Claverie, créateur de l extension HikaShop Sommaire 1. Vérifications coté

Plus en détail

Sécurité web client. Magali Contensin. ANF Dev Web ASR Carry-Le-Rouet. 25 octobre 2012

Sécurité web client. Magali Contensin. ANF Dev Web ASR Carry-Le-Rouet. 25 octobre 2012 web client Magali Contensin 25 octobre 2012 ANF Dev Web ASR Carry-Le-Rouet Plan Visibilité du code La vérification des données côté client est insuffisante XSS Usurpation de contenu AJAX Visibilité du

Plus en détail

HACKEZ-MOI CETTE APPLICATION. RMLL, 2010 Bordeaux, France, 7 juillet 2010

HACKEZ-MOI CETTE APPLICATION. RMLL, 2010 Bordeaux, France, 7 juillet 2010 HACKEZ-MOI CETTE APPLICATION RMLL, 2010 Bordeaux, France, 7 juillet 2010 1 MENU DU JOUR Comment attaquer une application Web Découverte Code ouvert Cas réels 2 AFUP http://www.afup.org/ 3 AYE CAPTAIN Groupe

Plus en détail

La sécurité pour les développeurs. Christophe Villeneuve @hellosct1

La sécurité pour les développeurs. Christophe Villeneuve @hellosct1 La sécurité pour les développeurs Christophe Villeneuve @hellosct1 Qui... est Christophe Villeneuve? afup lemug.fr mysql mariadb drupal demoscene firefoxos drupagora phptour forumphp solutionlinux demoinparis

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

Roman Mkrtchian SI5-2012/2013 François Chapuis. Rapport de projet de WASP. Réalisation d'un site web sécurisé

Roman Mkrtchian SI5-2012/2013 François Chapuis. Rapport de projet de WASP. Réalisation d'un site web sécurisé Roman Mkrtchian SI5-2012/2013 François Chapuis Rapport de projet de WASP Réalisation d'un site web sécurisé Introduction Nous avons choisi de coder un blog sécurisé. Nous avons notamment codé nous-mêmes

Plus en détail

Rapport de Cryptographie

Rapport de Cryptographie Cryptographie [MIF30] / Année 2008-2009 Rapport de Cryptographie Les Injections SQL Sylvie Tixier & François-Xavier Charlet Page 1 20/05/2009 Sommaire Introduction...3 Définition d une injection SQL...3

Plus en détail

MIF30 Cryptographie. Les Injections SQL

MIF30 Cryptographie. Les Injections SQL MIF30 Cryptographie Les Injections SQL Définition Une injection SQL est un type d exploitation d une faille de sécurité. Celle-ci consiste à injecter des caractères afin de modifier le comportement d une

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Sécurisation des applications web : retour d'expérience des développeurs de Sympa

Sécurisation des applications web : retour d'expérience des développeurs de Sympa Sécurisation des applications web : retour d'expérience des développeurs de Sympa David Verdin - TutoJ RES 12 : Sécurité des sites web - 4 février 2010 8 février 2010 1 En guise d'intro Le point de vue

Plus en détail

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI OWASP Open Web Application Security Project Jean-Marc Robert Génie logiciel et des TI A1: Injection Une faille d'injection, telle l'injection SQL, OS et LDAP, se produit quand une donnée non fiable est

Plus en détail

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI

Vulnérabilités logicielles Injection SQL. Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI Vulnérabilités logicielles Injection SQL Chamseddine Talhi École de technologie supérieure (ÉTS) Dép. Génie logiciel et des TI 1 Plan SQL Injection SQL Injections SQL standards Injections SQL de requêtes

Plus en détail

Accès au serveur SQL. Où ranger les accès au serveur SQL?

Accès au serveur SQL. Où ranger les accès au serveur SQL? 150 requête SQL, cela aura un impact sur un nombre limité de lignes et non plus sur l ensemble des données. MySQL propose une clause originale en SQL : LIMIT. Cette clause est disponible avec les différentes

Plus en détail

Restriction sur matériels d impression

Restriction sur matériels d impression Restriction sur matériels d impression Objectif : Restreindre l accès aux matériels multifonctions Description des matériels : Serveur d impression : SVAWAV01 (10.204.1.204) Ricoh Aficio MP C4501 o IP

Plus en détail

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière

Plus en détail

Sécurité des applications web

Sécurité des applications web Sécurité des applications web Module 03 Sécurité des applications Web Campus-Booster ID : 697 www.supinfo.com Copyright SUPINFO. All rights reserved Sécurité des applications web Votre formateur Formation

Plus en détail

Conseils en écriture PHP/MySQL. Magali Contensin

Conseils en écriture PHP/MySQL. Magali Contensin Tuto JRES 2010 Conseils en écriture PHP/MySQL Magali Contensin contensin@ibdml.univ-mrs.fr mrs 1 Plan 1. Filtrer les entrées 2. Protéger les sorties 3. Interdire la mise en cache de données 4. Masquer

Plus en détail

SYSTÈMES D INFORMATIONS

SYSTÈMES D INFORMATIONS SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.

Plus en détail

Systeme d authentification biometrique et de transfert de donnees cryptees

Systeme d authentification biometrique et de transfert de donnees cryptees Systeme d authentification biometrique et de transfert de donnees cryptees Securisez vos acces et protegez vos donnees Les composants ActiveX développés par NetInf associés aux produits de sécurisation

Plus en détail

Fireforce. Guide utilisateur

Fireforce. Guide utilisateur Fireforce Guide utilisateur Table des matières Fireforce...1 Installation...3 Logiciel requis...3 Récupération de l'exécutable...3 Installation...3 Utilisation de deux profils Firefox en même temps (optionnel)...3

Plus en détail

Headers, cookies et sessions

Headers, cookies et sessions Headers, cookies et sessions Chargement de fichiers (upload) Entêtes HTTP et redirections Gestion des cookies et des sessions de connexions Authentification Validation des données Programmation avancée

Plus en détail

Attaques applicatives

Attaques applicatives Attaques applicatives Attaques applicatives Exploitation d une mauvaise programmation des applications Ne touche pas le serveur lui-même mais son utilisation/ configuration Surtout populaire pour les sites

Plus en détail

Systèmes d'informations

Systèmes d'informations Systèmes d'informations C'est un ensemble d'outils pour stocker / gérer / diffuser des informations / des données Le stockage : Bases de données + SGDBR La gestion : Saisie, Mise à jour, Contrôle La diffusion

Plus en détail

CP - NBS System. La sécurité informatique : focus sur les menaces les plus communes et leurs solutions

CP - NBS System. La sécurité informatique : focus sur les menaces les plus communes et leurs solutions La sécurité informatique : focus sur les menaces les plus communes et leurs solutions Nous avons publié en février un article résumant les principaux risques liés au manque de sécurité des sites internet.

Plus en détail

L1 Option Programmation Web côté Serveur - Contrôle continu n 1

L1 Option Programmation Web côté Serveur - Contrôle continu n 1 L Option Programmation Web côté Serveur - Contrôle continu n Veuillez noircir les cases correspondantes à votre numéro d étudiant ( case/colonne). Si votre N est, il faut noircir le dans la ère colonne,

Plus en détail

Cours Cryptographie. Jeudi 22 février 2012 M1 ISIC. Authentification. Gabriel Risterucci

Cours Cryptographie. Jeudi 22 février 2012 M1 ISIC. Authentification. Gabriel Risterucci Cours Cryptographie Jeudi 22 février 2012 M1 ISIC Authentification Gabriel Risterucci Cours Cryptographie - Authentification - Principes généraux Moyens d'authentification Authentification différée Système

Plus en détail

GUIDE D'UTILISATION DU PORTAIL IAM

GUIDE D'UTILISATION DU PORTAIL IAM GUIDE D'UTILISATION DU PORTAIL IAM CONNEXION ET UTILISATION IAM Table des matières Généralités... 3 Objectifs du document... 3 Évolutions du portail... 3 Signaler un INCIDENT demander du support Contacter

Plus en détail

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion

Les injections SQL. J. Hennecart. Lundi 23 février 2015. Serval-Concept. Les bases de données Les injections SQL Comment se protéger Conclusion J. Hennecart Serval-Concept Lundi 23 février 2015 J. Hennecart des injections SQL sont des vulnérabilités permettant de faire exécuter des commandes, non prévues initialement, à une base de données. La

Plus en détail

Serveur RADIUS Point d accès Wifi

Serveur RADIUS Point d accès Wifi Serveur RADIUS Point d accès Wifi I. Pré- requis! Serveur Windows 2008 R2 avec les rôles suivant installé : - - - Service de domaine Active directory (adresse IP fixe) Service de certification Active Directory

Plus en détail

IIS (Internet Information Services) est le serveur Web de Microsoft. Il assure les mêmes fonctions qu'un serveur Web tel qu Apache.

IIS (Internet Information Services) est le serveur Web de Microsoft. Il assure les mêmes fonctions qu'un serveur Web tel qu Apache. Projet Serveur Web I. Contexte II. Définitions On appelle serveur Web aussi bien le matériel informatique que le logiciel, qui joue le rôle de serveur informatique sur un réseau local ou sur le World Wide

Plus en détail

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Technologies Web Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Plan du cours Cours 1 : Introduction HTML/CSS Cours 2 : Introduction programmation web + javascirpt Cours 3 : Introduction

Plus en détail

Travaux pratiques de M2105 Web dynamique

Travaux pratiques de M2105 Web dynamique Travaux pratiques de M2105 Web dynamique L objectif des séances de TP du module M2105 est de créer un mini site web d annuaire permettant à différents utilisateurs de gérer leurs contacts. Les informations

Plus en détail

TD3 : PHP «avancé» V2.4.0

TD3 : PHP «avancé» V2.4.0 TD3 : PHP «avancé» V2.4.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté.

Persistance en Php. Note : les problèmes d accès concurrents, de sécurité et de login sont laissés de côté. Persistance en Php Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d articles (titre, auteur, texte), un article est dans une seule

Plus en détail

II. EXCEL/QUERY ET SQL

II. EXCEL/QUERY ET SQL I. AU TRAVAIL, SQL! 1. Qu est-ce que SQL?... 19 2. SQL est un indépendant... 19 3. Comment est structuré le SQL?... 20 4. Base, table et champ... 21 5. Quelle est la syntaxe générale des instructions SQL?...

Plus en détail

TD2 : PHP «avancé» V3.0.0

TD2 : PHP «avancé» V3.0.0 TD2 : «avancé» V3.0.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document en ligne

Plus en détail

Installation du point d'accès Wi-Fi au réseau

Installation du point d'accès Wi-Fi au réseau Installation du point d'accès Wi-Fi au réseau Utilisez un câble Ethernet pour connecter le port Ethernet du point d'accès au port de la carte réseau situé sur le poste. Connectez l'adaptateur électrique

Plus en détail

Migration de la base de données et récupération après un crash

Migration de la base de données et récupération après un crash Migration de la base de données et récupération après un crash MDaemon est une marque déposée de Alt-N Technologies. Archive Server for MDaemon est développé par la société Achab. Page 1/12 Sommaire Différents

Plus en détail

Température corporelle des rats TRAVAUX PRATIQUES

Température corporelle des rats TRAVAUX PRATIQUES Informatique et Sciences du Numérique Température corporelle des rats TRAVAUX PRATIQUES Travaux Pratiques - 1 - TP No.. : Environnement de développement Windows, langage HTML /PHP Objectif Etre capable

Plus en détail

LES INJECTIONS SQL. Que20. 08 novembre 2015

LES INJECTIONS SQL. Que20. 08 novembre 2015 LES INJECTIONS SQL Que20 08 novembre 2015 Table des matières 1 Introduction 5 2 Qu est-ce qu une injection SQL? 7 3 Premier cas : injection SQL sur une chaîne de caractères 9 3.1 Comment s en protéger?..............................

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Serveur Web - IIS 7. IIS 7 sous Windows 2008

Serveur Web - IIS 7. IIS 7 sous Windows 2008 Serveur Web - IIS 7 Le livre de référence de ce chapitre est «Windows Server 2008 - Installation, configuration, gestion et dépannage» des éditions ENI, disponible sur egreta. Le site de référence pour

Plus en détail

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON Tech-Evenings Sécurité des applications Web Sébastien LEBRETON Pourquoi revoir la sécurité des applications Web Des technologies omniprésentes Facilité de mise en œuvre et de déploiement. Commerce en ligne,

Plus en détail

HERVÉ SCHAUER CONSULTANTS. Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet

HERVÉ SCHAUER CONSULTANTS. Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet FORUM PHP 2007 Audit de code, retour d'expérience Nicolas Collignon

Plus en détail

La sécurité. Chapitre 6. 1. Introduction. 2. La sécurité des accès

La sécurité. Chapitre 6. 1. Introduction. 2. La sécurité des accès 259 Chapitre 6 La sécurité 1. Introduction La sécurité La sécurité des données est un enjeu capital. Une base de données peut être amenée à stocker des données très sensibles, confidentielles. L'implémentation

Plus en détail

Création d un site web de vente en ligne

Création d un site web de vente en ligne Création d un site web de vente en ligne 1 Généralités Le projet sera réalisé par binôme. Date limite de remise du projet : 02/02/2007 2 Sujet 2.1 But Développer un site web dynamique permettant la gestion

Plus en détail

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres),

ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), Terminologie ARTICLE : élément de «base» contenant texte et ressources diverses. Peut avoir plusieurs statuts (visible ou non publiquement, entre autres), RUBRIQUE : contenant d'articles et/ou de rubriques

Plus en détail

MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI

MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI Claire Billaud - 3ème année IS MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI Page 1 sur 9 Principe : On veut faire en sorte que le réseau interne

Plus en détail

Table des matières 1 Accès distant sur Windows 2008 Server...2 1.1 Introduction...2

Table des matières 1 Accès distant sur Windows 2008 Server...2 1.1 Introduction...2 Table des matières 1 Accès distant sur Windows 2008 Server...2 1.1 Introduction...2 1.2 Accès distant (dial-in)...2 1.3 VPN...3 1.4 Authentification...4 1.5 Configuration d un réseau privé virtuel (vpn)...6

Plus en détail

TUTORIAL BRUTUS TUTORIAL : Tutorial brutus by polux-01 2007. Introduction :

TUTORIAL BRUTUS TUTORIAL : Tutorial brutus by polux-01 2007. Introduction : Introduction : TUTORIAL BRUTUS Bonjour et bien voila dans ce tutorial vous allez apprendre a brute-forcer un blog mais le principe marche aussi pour tous ce qui contient des mots de passe!!!! Fonctionnement

Plus en détail

SECURIDAY 2012 Pro Edition

SECURIDAY 2012 Pro Edition SECURINETS CLUB DE LA SECURITE INFORMATIQUE INSAT SECURIDAY 2012 Pro Edition [Nom de l atelier] Chef Atelier : Melek DRIDI (RT5) Sameh HAMDI (RT4) Slim BEN ABDERRAZEK(RT4) Fedi BOUKHROUF (RT4) Souad Manai

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

Guide de l utilisateur. Synchronisation de l Active Directory

Guide de l utilisateur. Synchronisation de l Active Directory Guide de l utilisateur Synchronisation de l Active Directory Juin 2013 Guide de l utilisateur de Synchro AD de TELUS L outil Synchro AD doit être téléchargé dans le contrôleur de domaine de votre entreprise.

Plus en détail

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition)

Apprendre à développer un site web avec PHP et MySQL Exercices pratiques et corrigés (2ième édition) Introduction 1. Objectif de l'ouvrage 13 2. Fonctionnement d un site web 13 Installation 1. Introduction 17 2. Installation d'easyphp 13.1 18 Les bases du langage PHP 1. Les balises 23 1.1 Syntaxe de base

Plus en détail

Guide de connexion à la solution de paiement Payline

Guide de connexion à la solution de paiement Payline Guide de connexion à la solution de paiement Payline Version 1.B Payline Monext Propriétaire Page 1 / 10 Page des évolutions Le tableau ci-dessous liste les dernières modifications effectuées sur ce document.

Plus en détail

INFO-F-405 Sécurité Informatique Projet 3 : SSL et Threat Modeling

INFO-F-405 Sécurité Informatique Projet 3 : SSL et Threat Modeling INFO-F-405 Sécurité Informatique Projet 3 : SSL et Threat Modeling Gabriel Corvalan Cornejo Gaëtan Podevijn François Santy 13 décembre 2010 1 Modélisation et récolte d information du système 1.1 Information

Plus en détail

MailStore Server : guide de démarrage rapide

MailStore Server : guide de démarrage rapide MailStore Server : guide de démarrage rapide Sommaire Premières étapes... 2 Étape 1 : configuration requise et installation... 2 Étape 2 : lancement du client MailStore... 2 Étape 3 : configuration des

Plus en détail

Sécurité des systèmes informatiques

Sécurité des systèmes informatiques Sécurité des systèmes informatiques Alex Auvolat, Nissim Zerbib 4 avril 2014 Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 1 / 43 Introduction La sécurité est une chaîne : elle est aussi

Plus en détail

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP

Université Mohamed Premier Année universitaire 2014/2015. Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Université Mohamed Premier Année universitaire 2014/2015 Faculté des Sciences Filière SMI S6 Module «Technologies du Web» ---------------------------- Feuille de TP 6 MYSQL/PHP Exercice 1 : Testez les

Plus en détail

1. Avec un script php. 2. En utilisant phpmyadmin

1. Avec un script php. 2. En utilisant phpmyadmin Université Lumière - Lyon 2 Master d Informatique M1 - Année 2006-2007 Programmation Web - TDs n 8 9 : PHP - Mysql L. Tougne (http ://liris.cnrs.fr/laure.tougne), 20/11/06 L objectif de ce TD est d utiliser

Plus en détail

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé

Plus en détail

PHP & ACCESS QUI? LES SITES SOMMAIRE SOMMAIRE Pourquoi utilisé ACCESS avec l ODBC Approche de ACCESS Installation simple et complexe Programmation Transfert Securite Applications et réalisations QUESTIONNAIRE

Plus en détail

Module pour la solution e-commerce Opencart

Module pour la solution e-commerce Opencart Module pour la solution e-commerce Opencart sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Contenu du document... 3 1.3. Liste des documents de référence... 3 1.4. Avertissement... 3 1.5.

Plus en détail

WWW.MELDANINFORMATIQUE.COM

WWW.MELDANINFORMATIQUE.COM Solutions informatiques Procédure Sur Comment créer un premier Site SharePoint 2010 Historique du document Revision Date Modification Autor 3 2013-04-29 Creation Daniel Roy 1. But.4 2. Configuration..4

Plus en détail

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

Plus en détail

Authentification SSH avec utilisation de clés asymétriques RSA (Debian + Putty)

Authentification SSH avec utilisation de clés asymétriques RSA (Debian + Putty) Authentification SSH avec utilisation de clés asymétriques RSA (Debian + Putty) Date 16/03/2010 Version 2.0 Référence Auteur Antoine CRUE VOS CONTACTS TECHNIQUES JEAN-PHILIPPE SENCKEISEN ANTOINE CRUE LIGNE

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

La sécurisation d applications

La sécurisation d applications Université Toulouse 1 Sciences Sociales 10 mars 2008 Les firewalls ne suffisent plus Mais ont-ils jamais été suffisants? La protection à 100% n existe pas. De plus certains protocoles doivent absolument

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Sécurisation des applications réparties

Sécurisation des applications réparties Sécurisation des applications réparties Olivier Flauzac & Cyril Rabat olivier.flauzac@univ-reims.fr cyril.rabat@univ-reims.fr Licence 3 Info - Info0503 - Introduction à la programmation client/serveur

Plus en détail

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4) Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4) Sommaire : Contenu I. Introduction:... 2 II. Présentation de l atelier :... 2 1) Attaque persistante :... 3 2) Attaque non persistante :...

Plus en détail

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1 DOCUMENTATION MISE A JOUR ANTIBIOGARDE V4.0 en v4.1 Version d Antibiogarde 4.1 Version du document 1.0 Date dernière mise à jour du document 15/06/2010 Retrouvez cette doc à jour sur : http://www.antibiogarde.org/activation/

Plus en détail

HEYROOT.ME. Cracker des hashes. Version Date Révision Auteur 1.0 22/02/2015 Initiation du document Shura

HEYROOT.ME. Cracker des hashes. Version Date Révision Auteur 1.0 22/02/2015 Initiation du document Shura Cracker des hashes Version Date Révision Auteur 1.0 22/02/2015 Initiation du document Shura Description Vous avez récupéré un hash de mots de passe (MD4, MD5, SHA-1, SHA-256,...) d'un système cible. Nous

Plus en détail

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons <ads@intrinsec.com> Jérémie Jourdin <jjn@intrinsec.com> Arnaud Desmons Jérémie Jourdin Présentation Motivations Historique Démonstration Présentation fonctionnelle Présentation technique L'interface d'administration Roadmap

Plus en détail

Travaux pratiques Utilisation de Wireshark pour examiner une capture DNS UDP

Travaux pratiques Utilisation de Wireshark pour examiner une capture DNS UDP Travaux pratiques Utilisation de Wireshark pour examiner une capture DNS UDP Topologie Objectifs 1re partie : Enregistrer les informations de configuration IP d un ordinateur 2e partie : Utiliser Wireshark

Plus en détail

Sécurisation des accès au CRM avec un certificat client générique

Sécurisation des accès au CRM avec un certificat client générique NOTE TECHNIQUE Sécurisation des accès au CRM avec un certificat client générique OBJETIF DE SECURITE Réduire les risques d usurpation d identité et de vols de données (exemple : keylogger, cheval de Troie

Plus en détail

Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4.

Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4. Le document décortique une interaction HTML-PHP-SQL puis donne le corrigé pour les exercices 1 à 4. I Affichage du formulaire et envoi de données A gauche le code d'une page HTML et à droite son affichage

Plus en détail

COURS 6 Adopter un style de programmation clair

COURS 6 Adopter un style de programmation clair COURS 6 Adopter un style de programmation clair Lorsque votre site prend de l'importance, le code devient vite illisible et incompréhensible si vous ne pensez pas à l'organiser. Mais comment organiser

Plus en détail

Authentification et contrôle d'accès dans les applications web

Authentification et contrôle d'accès dans les applications web Authentification et contrôle d'accès dans les applications web Quelques Rappels Objectifs : contrôler que seulement Certains utilisateurs Exécutent certaines opérations Sur certains objets Trois entités

Plus en détail

TX A081025: Délégation de l authentification pour les Services Web

TX A081025: Délégation de l authentification pour les Services Web TX A081025: Délégation de l authentification pour les Services Web Jérémy Vauchelle Enseignant: Aurélien Bénel Intervenants: Chao Zhou Arnaud Pagnier Plan 1. Présentation du sujet 2. Présentation du protocole

Plus en détail

Solutions Bureau de Bell Aliant Accès à distance

Solutions Bureau de Bell Aliant Accès à distance Services de gestion de sécurité de Bell Aliant Solutions Bureau de Bell Aliant Accès à distance Accès au RPV SSL avec SecurID Guide de l'utilisateur Version 1.3 Septembre 2009 1 Toute reproduction, publication

Plus en détail