SlideShare une entreprise Scribd logo
Démonstration :
Injection de code18 mars 2016 – Polytech Marseille
ThomasVIAUD
Contenu
• Présentation du scénario et des objectifs
• Base de données SQL
• Langage SQL
• Injection SQL
• Failles XSS
• Conclusion
Présentation du scénario et des objectifs
Utilisateur Site internet Base de données
Base de données
Présentation du scénario et des objectifs
Hacker Maître de l’univers ?
Base de données SQL*
Users
Posts
Comments
userid intPK
firstname text
name text
postid intPK
title text
content text
commentid intPK
content text
postid intFK
userid intFK
userid intFK
username text
password text
Un article ne peut
appartenir qu’à un
seul utilisateur.
Plusieurs
utilisateurs
peuvent
commenter le
même article.
Fonctionnement simplifié d’un blog :
SQL : StructuredQuery Language
SELECT * FROM users;
+------------+-----------+-----------+----------------------------------+-------+
| username | firstname | name | password | level |
+------------+-----------+-----------+----------------------------------+-------+
| dscott | Debie | SCOTT | e80b5017098950fc58aad83c8c14978e | user |
+------------+-----------+-----------+----------------------------------+-------+
| edorsa | Elsa | DORSA | f25a2fc72690b780b2a14e140ef6a9e0 | user |
+------------+-----------+-----------+----------------------------------+-------+
| ikeurien | Iris | KEURIEN | e99a18c428cb38d5f260853678922e03 | user |
+------------+-----------+-----------+----------------------------------+-------+
| jbombeur | Jean | BOMBEUR | adff44c5102fca279fce7559abf66fee | user |
+------------+-----------+-----------+----------------------------------+-------+
| jhultou | Jeanne | HULTOU | ab4f63f9ac65152575886860dde480a1 | user |
+------------+-----------+-----------+----------------------------------+-------+
| ktartines | Kimberley | TARTINES | aa47f8215c6f30a0dcdb2a36a9f4168e | user |
+------------+-----------+-----------+----------------------------------+-------+
| ktrophobe | Klaus | TROPHOBE | fc63f87c08d505264caba37514cd0cfd | user |
+------------+-----------+-----------+----------------------------------+-------+
| lgolade | Larry | GOLADE | c33367701511b4f6020ec61ded352059 | user |
+------------+-----------+-----------+----------------------------------+-------+
| mtete | Maude | TETE | fe01ce2a7fbac8fafaed7c982a04e229 | user |
+------------+-----------+-----------+----------------------------------+-------+
| shuttofond | Sacha | HUTTOFOND | 8afa847f50a716e64932d995c8e7435a | user |
+------------+-----------+-----------+----------------------------------+-------+
| sstiquet | Sophie | STIQUET | 70e76a15da00e6301ade718cc9416f79 | admin |
+------------+-----------+-----------+----------------------------------+-------+
users
firstname varchar(50)
name varchar(50)
username varchar(100)PK
password varchar(32)
level enum('user','admin')
Schéma de la table :
Langage SQL
Langage SQL
SELECT * FROM users WHERE username LIKE 'dscott';
+------------+-----------+-----------+----------------------------------+-------+
| username | firstname | name | password | level |
+------------+-----------+-----------+----------------------------------+-------+
| dscott | Debie | SCOTT | e80b5017098950fc58aad83c8c14978e | user |
+------------+-----------+-----------+----------------------------------+-------+
SELECT firstname,name,'OK' FROM users WHERE username LIKE 'e%';
+-----------+-------+----+
| firstname | name | OK |
+-----------+-------+----+
| Elsa | DORSA | OK |
+-----------+-------+----+
SELECT * FROM users WHERE level LIKE 'admin';#Commentaire
+----------+-----------+---------+----------------------------------+-------+
| username | firstname | name | password | level |
+----------+-----------+---------+----------------------------------+-------+
| sstiquet | Sophie | STIQUET | 70e76a15da00e6301ade718cc9416f79 | admin |
+----------+-----------+---------+----------------------------------+-------+
users
firstname varchar(50)
name varchar(50)
username varchar(100)PK
password varchar(32)
level enum('user','admin')
Schéma de la table :
SELECT GROUP_CONCAT(username),COUNT(*) FROM users WHERE username LIKE 'j%';
+------------------------+----------+
| GROUP_CONCAT(username) | COUNT(*) |
+------------------------+----------+
| jbombeur,jhultou | 2 |
+------------------------+----------+
SELECT 1,2,3,4,5 UNION SELECT * FROM users WHERE username LIKE 'k%';
+-----------+-----------+----------+----------------------------------+------+
| 1 | 2 | 3 | 4 | 5 |
+-----------+-----------+----------+----------------------------------+------+
| 1 | 2 | 3 | 4 | 5 |
+-----------+-----------+----------+----------------------------------+------+
| ktartines | Kimberley | TARTINES | aa47f8215c6f30a0dcdb2a36a9f4168e | user |
+-----------+-----------+----------+----------------------------------+------+
| ktrophobe | Klaus | TROPHOBE | fc63f87c08d505264caba37514cd0cfd | user |
+-----------+-----------+----------+----------------------------------+------+
SELECT @@version AS 'Version:';
+--------------------------+
| Version: |
+--------------------------+
| 10.0.23-MariaDB-0+deb8u1 |
+--------------------------+
users
firstname varchar(50)
name varchar(50)
username varchar(100)PK
password varchar(32)
level enum('user','admin')
Schéma de la table :
Langage SQL
• Recherche de points
d’entrées
• Exécution de
requêtes forgées
ReconnaissanceReconnaissance
• Présence de
messages d’erreur
• Comportement
inattendu du site
VulnérabilitéVulnérabilité
• Contournement de
l’authentification
• Altération ou
exfiltration des
données
ExploitationExploitation
Injection SQL
Méthode d’attaque :
Injection SQL
SELECT * FROM users WHERE username LIKE '<user>' AND password = '<password>';
L’injection n’est possible que dans le champ 'username' car le champ 'password' est un hash :
SELECT * FROM users WHERE username LIKE 'mtete' AND password = 'fe01ce2a7fbac8fafaed7c982a04e229';
+----------+-----------+------+----------------------------------+-------+
| username | firstname | name | password | level |
+----------+-----------+------+----------------------------------+-------+
| mtete | Maude | TETE | fe01ce2a7fbac8fafaed7c982a04e229 | user |
+----------+-----------+------+----------------------------------+-------+
fe01ce2a7fbac8fafaed7c982a04e229 = md5('demo‘);
Exemple d’attaque :
Pour les besoins de démonstration notre site test ne possède
aucun filtrage sur les données entrées dans le formulaire.
Injection SQL
Exemple d’attaque :
Qui sait ? Sur un malentendu…
Injection SQL
Attaque avancée :
Utilisation de Sqlmap pour automatiser la récupération des données.
XSS : Cross-Site Scripting
Failles XSS*
Méthode d’attaque :
Injecter du contenu malveillant dans une page, qui sera exécuté par le navigateur.
Exemple d’attaque :
Insertion du code suivant dans la page :
<script>alert('xss');</script>
Conclusion
Il faut protéger son code et filtrer
systématiquement les données en
entrée autant qu’en sortie !
Sites proposant des challenges en sécurité :
www.newbiecontest.org
www.root-me.org
Listing des challenges « Capture The Flag » :
www.ctftime.org
Exemples de challenges :
www.0x90r00t.com
Questions ?
Mail : thomas.viaud@outlook.com

Contenu connexe

Similaire à Demonstration injection de code

Orchestration
OrchestrationOrchestration
Orchestration
Rachel Wignall
 
Administration reseau
Administration reseauAdministration reseau
Administration reseau
nadimoc
 
Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
Damien Seguy
 
Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2
Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2 Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2
Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2
Alphorm
 
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les NotebooksSQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
Philippe Geiger
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
Microsoft Technet France
 
Retour d'expérience sur PowerShell
Retour d'expérience sur PowerShellRetour d'expérience sur PowerShell
Retour d'expérience sur PowerShell
Microsoft Technet France
 
alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)
Alphorm
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0
Patrick Guimonet
 
RADIUS ET TACACS+.pptx
RADIUS ET TACACS+.pptxRADIUS ET TACACS+.pptx
RADIUS ET TACACS+.pptx
ZokomElie
 
Algorithmique et langage de programmation c
Algorithmique et langage de programmation cAlgorithmique et langage de programmation c
Algorithmique et langage de programmation c
EmilianoSala2
 
Cours d'Algorithmique et langage C .pdf
Cours d'Algorithmique et langage C  .pdfCours d'Algorithmique et langage C  .pdf
Cours d'Algorithmique et langage C .pdf
kamalomari2
 
MeasureCamp Paris #5 , Présentation Bigquery = big problem?
MeasureCamp Paris #5 , Présentation Bigquery = big problem? MeasureCamp Paris #5 , Présentation Bigquery = big problem?
MeasureCamp Paris #5 , Présentation Bigquery = big problem?
Sébastien PUJADE
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Microsoft Technet France
 
Proposition d'une politique de sécurité pour les systèmes de base de données ...
Proposition d'une politique de sécurité pour les systèmes de base de données ...Proposition d'une politique de sécurité pour les systèmes de base de données ...
Proposition d'une politique de sécurité pour les systèmes de base de données ...
Aichétou Djimé Gallédou
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Aucce formation-administrer-cisco-unified-contact-center-enterprise
Aucce formation-administrer-cisco-unified-contact-center-enterpriseAucce formation-administrer-cisco-unified-contact-center-enterprise
Aucce formation-administrer-cisco-unified-contact-center-enterpriseCERTyou Formation
 
Composants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationComposants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de Configuration
ZakariaBouzzitMadrid
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .ppt
profsn
 

Similaire à Demonstration injection de code (20)

Orchestration
OrchestrationOrchestration
Orchestration
 
Administration reseau
Administration reseauAdministration reseau
Administration reseau
 
Sécurité MySQL
Sécurité MySQLSécurité MySQL
Sécurité MySQL
 
Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2
Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2 Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2
Alphorm.com Formation WSUS (Windows Server Update Services) 3.0 SP2
 
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les NotebooksSQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
SQL Saturday Haïti 2023 - Bien maîtriser Azure Data Studio et les Notebooks
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
 
Retour d'expérience sur PowerShell
Retour d'expérience sur PowerShellRetour d'expérience sur PowerShell
Retour d'expérience sur PowerShell
 
alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)alphorm.com - Formation Windows Server Core 2008 (R2)
alphorm.com - Formation Windows Server Core 2008 (R2)
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0
 
RADIUS ET TACACS+.pptx
RADIUS ET TACACS+.pptxRADIUS ET TACACS+.pptx
RADIUS ET TACACS+.pptx
 
Algorithmique et langage de programmation c
Algorithmique et langage de programmation cAlgorithmique et langage de programmation c
Algorithmique et langage de programmation c
 
Cours d'Algorithmique et langage C .pdf
Cours d'Algorithmique et langage C  .pdfCours d'Algorithmique et langage C  .pdf
Cours d'Algorithmique et langage C .pdf
 
MeasureCamp Paris #5 , Présentation Bigquery = big problem?
MeasureCamp Paris #5 , Présentation Bigquery = big problem? MeasureCamp Paris #5 , Présentation Bigquery = big problem?
MeasureCamp Paris #5 , Présentation Bigquery = big problem?
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
Proposition d'une politique de sécurité pour les systèmes de base de données ...
Proposition d'une politique de sécurité pour les systèmes de base de données ...Proposition d'une politique de sécurité pour les systèmes de base de données ...
Proposition d'une politique de sécurité pour les systèmes de base de données ...
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Aucce formation-administrer-cisco-unified-contact-center-enterprise
Aucce formation-administrer-cisco-unified-contact-center-enterpriseAucce formation-administrer-cisco-unified-contact-center-enterprise
Aucce formation-administrer-cisco-unified-contact-center-enterprise
 
Composants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationComposants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de Configuration
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .ppt
 

Plus de PRONETIS

Gouvernance de la sécurité des Systèmes d'Information Volet-3
Gouvernance de la sécurité des Systèmes d'Information Volet-3Gouvernance de la sécurité des Systèmes d'Information Volet-3
Gouvernance de la sécurité des Systèmes d'Information Volet-3
PRONETIS
 
Gouvernance de la sécurite des Systèmes d'Information Volet-2
Gouvernance de la sécurite des Systèmes d'Information Volet-2Gouvernance de la sécurite des Systèmes d'Information Volet-2
Gouvernance de la sécurite des Systèmes d'Information Volet-2
PRONETIS
 
Sécurite opérationnelle des Système d'Information Volet-3
Sécurite opérationnelle des Système d'Information Volet-3Sécurite opérationnelle des Système d'Information Volet-3
Sécurite opérationnelle des Système d'Information Volet-3
PRONETIS
 
Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2
PRONETIS
 
Sécurite operationnelle des systèmes d'information Volet-1
Sécurite operationnelle des systèmes d'information Volet-1Sécurite operationnelle des systèmes d'information Volet-1
Sécurite operationnelle des systèmes d'information Volet-1
PRONETIS
 
C8 Réseaux : Couche applicative
C8 Réseaux : Couche applicativeC8 Réseaux : Couche applicative
C8 Réseaux : Couche applicative
PRONETIS
 
C6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routageC6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routage
PRONETIS
 
C5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-natC5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-nat
PRONETIS
 
C4 Réseaux : Couche reseau
C4 Réseaux : Couche reseauC4 Réseaux : Couche reseau
C4 Réseaux : Couche reseau
PRONETIS
 
C3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiC3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifi
PRONETIS
 
C2 Réseaux : medias - equipements
C2 Réseaux : medias - equipementsC2 Réseaux : medias - equipements
C2 Réseaux : medias - equipements
PRONETIS
 
C1 Réseaux : introduction et concepts
C1 Réseaux : introduction et conceptsC1 Réseaux : introduction et concepts
C1 Réseaux : introduction et concepts
PRONETIS
 
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014
PRONETIS
 
Tuto wifi vpn ssl camera ip video surveillance 2013
Tuto wifi vpn ssl camera ip video surveillance 2013Tuto wifi vpn ssl camera ip video surveillance 2013
Tuto wifi vpn ssl camera ip video surveillance 2013
PRONETIS
 
Sécurisation d'accès à un CRM pour appareils Nomade
Sécurisation d'accès à un CRM pour appareils NomadeSécurisation d'accès à un CRM pour appareils Nomade
Sécurisation d'accès à un CRM pour appareils Nomade
PRONETIS
 
Sonic wall mobile_connect_for_ios_user_guide-rev_b
Sonic wall mobile_connect_for_ios_user_guide-rev_bSonic wall mobile_connect_for_ios_user_guide-rev_b
Sonic wall mobile_connect_for_ios_user_guide-rev_b
PRONETIS
 
Authentification Réseau 802.1X PEAP-MSCHAP-V2
Authentification Réseau 802.1X PEAP-MSCHAP-V2Authentification Réseau 802.1X PEAP-MSCHAP-V2
Authentification Réseau 802.1X PEAP-MSCHAP-V2
PRONETIS
 
Livre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time PasswordLivre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time Password
PRONETIS
 
Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...
Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...
Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...
PRONETIS
 

Plus de PRONETIS (19)

Gouvernance de la sécurité des Systèmes d'Information Volet-3
Gouvernance de la sécurité des Systèmes d'Information Volet-3Gouvernance de la sécurité des Systèmes d'Information Volet-3
Gouvernance de la sécurité des Systèmes d'Information Volet-3
 
Gouvernance de la sécurite des Systèmes d'Information Volet-2
Gouvernance de la sécurite des Systèmes d'Information Volet-2Gouvernance de la sécurite des Systèmes d'Information Volet-2
Gouvernance de la sécurite des Systèmes d'Information Volet-2
 
Sécurite opérationnelle des Système d'Information Volet-3
Sécurite opérationnelle des Système d'Information Volet-3Sécurite opérationnelle des Système d'Information Volet-3
Sécurite opérationnelle des Système d'Information Volet-3
 
Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2Sécurite operationnelle des Systèmes d'Information Volet-2
Sécurite operationnelle des Systèmes d'Information Volet-2
 
Sécurite operationnelle des systèmes d'information Volet-1
Sécurite operationnelle des systèmes d'information Volet-1Sécurite operationnelle des systèmes d'information Volet-1
Sécurite operationnelle des systèmes d'information Volet-1
 
C8 Réseaux : Couche applicative
C8 Réseaux : Couche applicativeC8 Réseaux : Couche applicative
C8 Réseaux : Couche applicative
 
C6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routageC6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routage
 
C5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-natC5 Réseaux : vlsm-classe-nat
C5 Réseaux : vlsm-classe-nat
 
C4 Réseaux : Couche reseau
C4 Réseaux : Couche reseauC4 Réseaux : Couche reseau
C4 Réseaux : Couche reseau
 
C3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiC3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifi
 
C2 Réseaux : medias - equipements
C2 Réseaux : medias - equipementsC2 Réseaux : medias - equipements
C2 Réseaux : medias - equipements
 
C1 Réseaux : introduction et concepts
C1 Réseaux : introduction et conceptsC1 Réseaux : introduction et concepts
C1 Réseaux : introduction et concepts
 
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014
 
Tuto wifi vpn ssl camera ip video surveillance 2013
Tuto wifi vpn ssl camera ip video surveillance 2013Tuto wifi vpn ssl camera ip video surveillance 2013
Tuto wifi vpn ssl camera ip video surveillance 2013
 
Sécurisation d'accès à un CRM pour appareils Nomade
Sécurisation d'accès à un CRM pour appareils NomadeSécurisation d'accès à un CRM pour appareils Nomade
Sécurisation d'accès à un CRM pour appareils Nomade
 
Sonic wall mobile_connect_for_ios_user_guide-rev_b
Sonic wall mobile_connect_for_ios_user_guide-rev_bSonic wall mobile_connect_for_ios_user_guide-rev_b
Sonic wall mobile_connect_for_ios_user_guide-rev_b
 
Authentification Réseau 802.1X PEAP-MSCHAP-V2
Authentification Réseau 802.1X PEAP-MSCHAP-V2Authentification Réseau 802.1X PEAP-MSCHAP-V2
Authentification Réseau 802.1X PEAP-MSCHAP-V2
 
Livre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time PasswordLivre blanc sur l'authentification forte OTP - One Time Password
Livre blanc sur l'authentification forte OTP - One Time Password
 
Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...
Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...
Tutoriel de configuration d'une architecture Sonicwall TZ-100 et Caméra IP DC...
 

Dernier

cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
AbdessamadAmimi1
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
mohammadaminejouini
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 

Dernier (7)

cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
 
BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 

Demonstration injection de code

  • 1. Démonstration : Injection de code18 mars 2016 – Polytech Marseille ThomasVIAUD
  • 2. Contenu • Présentation du scénario et des objectifs • Base de données SQL • Langage SQL • Injection SQL • Failles XSS • Conclusion
  • 3. Présentation du scénario et des objectifs Utilisateur Site internet Base de données
  • 4. Base de données Présentation du scénario et des objectifs Hacker Maître de l’univers ?
  • 5. Base de données SQL* Users Posts Comments userid intPK firstname text name text postid intPK title text content text commentid intPK content text postid intFK userid intFK userid intFK username text password text Un article ne peut appartenir qu’à un seul utilisateur. Plusieurs utilisateurs peuvent commenter le même article. Fonctionnement simplifié d’un blog : SQL : StructuredQuery Language
  • 6. SELECT * FROM users; +------------+-----------+-----------+----------------------------------+-------+ | username | firstname | name | password | level | +------------+-----------+-----------+----------------------------------+-------+ | dscott | Debie | SCOTT | e80b5017098950fc58aad83c8c14978e | user | +------------+-----------+-----------+----------------------------------+-------+ | edorsa | Elsa | DORSA | f25a2fc72690b780b2a14e140ef6a9e0 | user | +------------+-----------+-----------+----------------------------------+-------+ | ikeurien | Iris | KEURIEN | e99a18c428cb38d5f260853678922e03 | user | +------------+-----------+-----------+----------------------------------+-------+ | jbombeur | Jean | BOMBEUR | adff44c5102fca279fce7559abf66fee | user | +------------+-----------+-----------+----------------------------------+-------+ | jhultou | Jeanne | HULTOU | ab4f63f9ac65152575886860dde480a1 | user | +------------+-----------+-----------+----------------------------------+-------+ | ktartines | Kimberley | TARTINES | aa47f8215c6f30a0dcdb2a36a9f4168e | user | +------------+-----------+-----------+----------------------------------+-------+ | ktrophobe | Klaus | TROPHOBE | fc63f87c08d505264caba37514cd0cfd | user | +------------+-----------+-----------+----------------------------------+-------+ | lgolade | Larry | GOLADE | c33367701511b4f6020ec61ded352059 | user | +------------+-----------+-----------+----------------------------------+-------+ | mtete | Maude | TETE | fe01ce2a7fbac8fafaed7c982a04e229 | user | +------------+-----------+-----------+----------------------------------+-------+ | shuttofond | Sacha | HUTTOFOND | 8afa847f50a716e64932d995c8e7435a | user | +------------+-----------+-----------+----------------------------------+-------+ | sstiquet | Sophie | STIQUET | 70e76a15da00e6301ade718cc9416f79 | admin | +------------+-----------+-----------+----------------------------------+-------+ users firstname varchar(50) name varchar(50) username varchar(100)PK password varchar(32) level enum('user','admin') Schéma de la table : Langage SQL
  • 7. Langage SQL SELECT * FROM users WHERE username LIKE 'dscott'; +------------+-----------+-----------+----------------------------------+-------+ | username | firstname | name | password | level | +------------+-----------+-----------+----------------------------------+-------+ | dscott | Debie | SCOTT | e80b5017098950fc58aad83c8c14978e | user | +------------+-----------+-----------+----------------------------------+-------+ SELECT firstname,name,'OK' FROM users WHERE username LIKE 'e%'; +-----------+-------+----+ | firstname | name | OK | +-----------+-------+----+ | Elsa | DORSA | OK | +-----------+-------+----+ SELECT * FROM users WHERE level LIKE 'admin';#Commentaire +----------+-----------+---------+----------------------------------+-------+ | username | firstname | name | password | level | +----------+-----------+---------+----------------------------------+-------+ | sstiquet | Sophie | STIQUET | 70e76a15da00e6301ade718cc9416f79 | admin | +----------+-----------+---------+----------------------------------+-------+ users firstname varchar(50) name varchar(50) username varchar(100)PK password varchar(32) level enum('user','admin') Schéma de la table :
  • 8. SELECT GROUP_CONCAT(username),COUNT(*) FROM users WHERE username LIKE 'j%'; +------------------------+----------+ | GROUP_CONCAT(username) | COUNT(*) | +------------------------+----------+ | jbombeur,jhultou | 2 | +------------------------+----------+ SELECT 1,2,3,4,5 UNION SELECT * FROM users WHERE username LIKE 'k%'; +-----------+-----------+----------+----------------------------------+------+ | 1 | 2 | 3 | 4 | 5 | +-----------+-----------+----------+----------------------------------+------+ | 1 | 2 | 3 | 4 | 5 | +-----------+-----------+----------+----------------------------------+------+ | ktartines | Kimberley | TARTINES | aa47f8215c6f30a0dcdb2a36a9f4168e | user | +-----------+-----------+----------+----------------------------------+------+ | ktrophobe | Klaus | TROPHOBE | fc63f87c08d505264caba37514cd0cfd | user | +-----------+-----------+----------+----------------------------------+------+ SELECT @@version AS 'Version:'; +--------------------------+ | Version: | +--------------------------+ | 10.0.23-MariaDB-0+deb8u1 | +--------------------------+ users firstname varchar(50) name varchar(50) username varchar(100)PK password varchar(32) level enum('user','admin') Schéma de la table : Langage SQL
  • 9. • Recherche de points d’entrées • Exécution de requêtes forgées ReconnaissanceReconnaissance • Présence de messages d’erreur • Comportement inattendu du site VulnérabilitéVulnérabilité • Contournement de l’authentification • Altération ou exfiltration des données ExploitationExploitation Injection SQL Méthode d’attaque :
  • 10. Injection SQL SELECT * FROM users WHERE username LIKE '<user>' AND password = '<password>'; L’injection n’est possible que dans le champ 'username' car le champ 'password' est un hash : SELECT * FROM users WHERE username LIKE 'mtete' AND password = 'fe01ce2a7fbac8fafaed7c982a04e229'; +----------+-----------+------+----------------------------------+-------+ | username | firstname | name | password | level | +----------+-----------+------+----------------------------------+-------+ | mtete | Maude | TETE | fe01ce2a7fbac8fafaed7c982a04e229 | user | +----------+-----------+------+----------------------------------+-------+ fe01ce2a7fbac8fafaed7c982a04e229 = md5('demo‘); Exemple d’attaque : Pour les besoins de démonstration notre site test ne possède aucun filtrage sur les données entrées dans le formulaire.
  • 11. Injection SQL Exemple d’attaque : Qui sait ? Sur un malentendu…
  • 12. Injection SQL Attaque avancée : Utilisation de Sqlmap pour automatiser la récupération des données.
  • 13. XSS : Cross-Site Scripting Failles XSS* Méthode d’attaque : Injecter du contenu malveillant dans une page, qui sera exécuté par le navigateur. Exemple d’attaque : Insertion du code suivant dans la page : <script>alert('xss');</script>
  • 14. Conclusion Il faut protéger son code et filtrer systématiquement les données en entrée autant qu’en sortie ! Sites proposant des challenges en sécurité : www.newbiecontest.org www.root-me.org Listing des challenges « Capture The Flag » : www.ctftime.org Exemples de challenges : www.0x90r00t.com
  • 15. Questions ? Mail : thomas.viaud@outlook.com