Quatrième Partie. Sécurité des Applications



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

Vulnérabilités et sécurisation des applications Web

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

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

Vulnérabilités et solutions de sécurisation des applications Web

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

Hébergement de site web Damien Nouvel

Module BD et sites WEB

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

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

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Programmation Web. Madalina Croitoru IUT Montpellier

les techniques d'extraction, les formulaires et intégration dans un site WEB

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Formation : WEbMaster

Programmation Web. Introduction

LEA.C5. Développement de sites Web transactionnels

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

SYSTÈMES D INFORMATIONS

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Formation Webmaster : Création de site Web Initiation + Approfondissement

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Petite définition : Présentation :

4. SERVICES WEB REST 46

Sécurité des applications web. Daniel Boteanu

FTP : File TRansfer Protocol => permets d envoyer des gros fichiers sur un serveur (ou de télécharger depuis le serveur)

L art d ordonnancer. avec JobScheduler. François BAYART

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

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Création d un formulaire de contact Procédure

Par KENFACK Patrick MIF30 19 Mai 2009

TP Service HTTP Serveur Apache Linux Debian

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

Informations générales. Technologies. css3-html5-php-ajax-j-query-mootools-action-script3

Développement des Systèmes d Information

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Les outils de création de sites web

Du 03 au 07 Février 2014 Tunis (Tunisie)

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

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

Programmation Internet Cours 4

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Devenez un véritable développeur web en 3 mois!

10. Base de données et Web. OlivierCuré

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Sécurité des Applications Web Comment Minimiser les Risques d Attaques les plus Courants

Architectures web/bases de données

Responsable du cours : Héla Hachicha. Année Universitaire :

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Manuel du composant CKForms Version 1.3.2

Gestion d identités PSL Exploitation IdP Authentic

[ Sécurisation des canaux de communication

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Formation Optimiser ses campagnes ing

PHP 5.4 Développez un site web dynamique et interactif

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

PROJET TOUR EDUCALL USB par CDPRO

FileMaker Server 13. Publication Web personnalisée avec XML

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

FileMaker Server 13. Publication Web personnalisée avec PHP

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

COMPÉTENCES TECHNIQUES

1. La plate-forme LAMP

Formation Site Web. Menu du jour. Le web comment ça marche? Créer un site web Une solution proposée pour débuter La suite?

Le stockage local de données en HTML5

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

FileMaker Server 12. publication Web personnalisée avec XML

Website-CMS / Enterprise-CMS Module de traduction

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

PAYBOX TRAITEMENT PAR LOTS MANUEL D INTEGRATION

\ \ / \ / / \/ ~ \/ _ \\ \ ` \ Y ( <_> ) \ / /\ _ / \ / / \/ \/ \/ Team

STID 2ème année : TP Web/PHP

Sécurité des usages du WEB. Pierre DUSART Damien SAUVERON

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Stockage du fichier dans une table mysql:

Serveur Web Apache - SSL - PHP Debian GNU/Linux

Attaques applicatives

Pratique et administration des systèmes

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Fonctionnalités.

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Refonte des sites internet du SIEDS

Transcription:

Quatrième Partie Sécurité des Applications

Sécurité des applications Applications Web Manipulation d'url Attaques cross-site scripting Injection SQL XML IV Sécurité Applications - 2/16

Manipulation d'url (1/3) Protocole Mot de passe Port Nom du serveur (facultatif) (facultatif si 80) Chem in exem ple 1 http:// user:password@ servernam e :80 /dir1/dir2/dir3/index.htm exem ple 2 http:// m iageprojet.unice.fr /twiki/bin/view/stages/w ebhom e Modification manuelle accéder à des pages que l'on n'est pas censé voir : ex : Jean Martin accède avec son mot de passe à sa page perso et tente de voir celle de Sophie Durand http://miageprojet.unice.fr/twiki/bin/view/stages/stagem2miage2007s1jeanmartin http://miageprojet.unice.fr/twiki/bin/view/stages/stagem2miage2207s1sophiedurand ex : site web dynamique : http://cible/forum/index.php3?cat=2 http://cible/forum/index.php3?cat=5 (essai d'autre valeurs du paramètre) http://cible/forum/index.php3?cat=******** (provoque une erreur) IV Sécurité Applications - 3/16

Manipulation d'url (2/3) Tâtonnement à l'aveugle recherche de répertoire d'administration du site : http://cible/admin http://cible/admin/cgi recherche de fichiers cachés du site distant : etc. http://cible/.bash_history Traversée de répertoire modification de l'arborescence : http://miageprojet.unice.fr/twiki/bin/view/stages/stagem2miage2007s1jeanmartin http://miageprojet.unice.fr/twiki/bin/view/stages/ http://miageprojet.unice.fr/twiki/bin/ IV Sécurité Applications - 4/16

Manipulation d'url (3/3) Parades interdire le parcours des pages situées en dessous de la racine du site web (mécanisme de chroot) désactiver l'affichage des fichiers présents dans un répertoire ne contenant pas de fichier d'index supprimer les répertoires et fichiers inutiles empêcher de voir en HTTP les pages acessibles en HTTPS etc. IV Sécurité Applications - 5/16

Cross-site scripting (XSS) Attaques visant des sites qui affichent dynamiquement un contenu fourni par l'utilisateur ex : affichage du nom que l'utilisateur vient de fournir dans un formulaire : Le pirate entre du code html ou un script à la place de son nom Injection de code dans un site web navigateurs interprètent les scripts du type : JavaScript, Vbscript, Java, ActiveX, Flash, etc. Balises HTML permettent d'incorporer des scripts : <SCRIPT>, <OBJECT>, <APPLET>, <EMBED> IV Sécurité Applications - 6/16

Cross-site scripting (XSS) Conséquences le code malicieux a accès aux données partagées par la page Web de l'utilisateur et le serveur (cookies, champ de formulaire) le pirate peut avec son code injecté afficher un formulaire demandant les informations d'authentification de l'utilisateur le pirate peut rediriger l'utilisateur vers une page qu'il contrôle et qui a la même apparence que le site IV Sécurité Applications - 7/16

Cross-site scripting (XSS) Premier type : local faille dans le script d'une page côté client ex : code JavaScript utilisant le résultat d'une requête d'url pour écrire du HTML (dans sa propre page) qui sera réinterprété par le navigateur => affichage du html malicieux possibilité de faire tourner un script malicieux dans la «zone locale» du client IV Sécurité Applications - 8/16

Cross-site scripting (XSS) Second type : non permanent le plus commun données fournies par le client Web utilisées telles quelles par les scripts du serveur pour fournir une page de résultats Troisième type : permanent très dangereux donnés fournies par l'utilisateur stockées sur un serveur, puis réaffichées sans encodage préalable des caractères spéciaux HTML ex : forum où les utilisateurs peuvent poster des textes avec des balises HTML IV Sécurité Applications - 9/16

Cross-site scripting (XSS) Parades sanitarisation (sanitation) des données vérifier le format des données entrées par les utilisateurs retraiter le HTML de sortie via le CMS (Content Management System) filtrer les variables affichées ou enregistrées avec des caractères '<' et '>' utiliser <noscript>...</noscript> IV Sécurité Applications - 10/16

Injection SQL Injection de code de type SQL dans les champs d'un formulaire ou dans les variables d'une page web pour provoquer leur exécution. des formulaires non traités peuvent lancer leurs propre requêtes SQL Exemple : SELECT * FROM utilisateurs WHERE nom= "$nom"; Formulaire => $nom "toto" OR 1=1 OR nom="titi" SELECT * FROM utilisateurs WHERE nom="toto" OR 1=1 OR nom="titi"; => clause WHERE toujours satisfaite => retourne les enregistrements de tous les utilisateurs IV Sécurité Applications - 11/16

Injection SQL Exemple : Site web dynamique (en PHP) utilisant une connexion des utilisateurs par 'logon/mot de passe' stockés dans une base SQL. SELECT uid WHERE name= '(nom)' AND password ='(mot de passe chiffré') Formulaire => Utilisateur : Martin Mot de passe : secret select uid WHERE name= 'Martin' AND password ='17C3a...8b91D' Formulaire => Utilisateur : Martin' -- Mot de passe : bidon select uid WHERE name= 'Martin' -- ' AND password ='ba137...95f37' ce qui suit est un commentaire en PHP => select uid WHERE name= 'Martin' L'attaquant peut donc se connecter en utilisant le logon de Martin et n'importe quel mot de passe IV Sécurité Applications - 12/16

Injection SQL Parades vérifier le format des données entrées par les utilisateurs ne pas afficher de messages d'erreurs affichant la requête SQL en erreur supprimer les comptes non utilisés utiliser des comptes avec mot de passe restreindre au strict nécessaire les privilèges des comptes utilisés IV Sécurité Applications - 13/16

Sécurité XML : cryptage XML encryption W3C : Recommendation du 10 Decembre 2002 Objectif : permettre le cryptage de (parties de) données XML échangées sur le Web Un processus pour crypter et décrypter les contenus Une syntaxe XML pour représenter les contenus cryptés les informations permettant le décryptage par le destinataire concerné http://www.w3.org/tr/xmlenc-core/ IV Sécurité Applications - 14/16

Sécurité XML : signature XML signature (XMLDsig, XML-DSig, XML-Sig) W3C : Recommandation du 10 Juin 2008 Objectif : assurer l'intégrité et la non répudiation des données ainsi que l'authentification de l'auteur Une syntaxe XML pour représenter la signature des ressources Web Des procédures pour calculer ces signatures (clé privée) Des procédures pour les vérifier (clé publique) Forme canonique signature indépendante du jeux de caractère ou de la syntaxe utilisée http://www.w3.org/tr/xmldsig-core/ IV Sécurité Applications - 15/16

Plan général Introduction Principes de Bases de la Sécurité de l'information Cryptographie Sécurité des Réseaux Sécurité des Applications Politique de sécurité Conclusion IV Sécurité Applications - 16/16