SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
MiniMySqlat0r reloaded

Alain Mowat
Ingénieur Sécurité
SCRT Sàrl


                          Application Security Forum
                                Western Switzerland

                     27 octobre 2011 - HEIGVD Yverdon-les-Bains
                     http://appsec-forum.ch
$ whoami
 Ingénieur EPFL en Informatique
 Ingénieur Sécurité @ SCRT
   – Tests d'intrusion
   – Sécurité des applications Web




              Application Security Forum - Western Switzerland
 27.10.2011                                                      2
                                    - 2011
Agenda / Objectifs
 Introduction
   – SQL, Injections, Types
 Sqlat0r
   – Détection, Exploitation
   – Web 2.0
        • Crawler Ajax
 Conclusion


                  Application Security Forum - Western Switzerland
 27.10.2011                                                          3
                                        - 2011
Introduction
 Structured Query Language
   – Communication avec une base de données
   – Sites Web utilisent SQL pour extraire le
     contenu des pages à afficher
 Exemple typique
   – SELECT * FROM news WHERE id=1




              Application Security Forum - Western Switzerland
 27.10.2011                                                      4
                                    - 2011
Utilisation




              Application Security Forum - Western Switzerland
 27.10.2011                                                      5
                                    - 2011
Injection SQL
 Existent depuis plus de 10 ans
   – Reste une des attaques les plus ravageuses
     sur Internet
   – TOP 10 OWASP depuis 2004




              Application Security Forum - Western Switzerland
 27.10.2011                                                      6
                                    - 2011
Et pourtant...




              Application Security Forum - Western Switzerland
 27.10.2011                                                      7
                                    - 2011
Injection SQL
 Faille permettant à un attaquant de
  modifier la requête SQL envoyée par un
  serveur Web à la BDD
   – Dû à une mauvaise validation des
     paramètres
 Exemples
   – SELECT * FROM news WHERE id = -1
   – SELECT * FROM news WHERE id = 1 or 1=1
   – SELECT * FROM news WHERE id = 1 union ...
               Application Security Forum - Western Switzerland
 27.10.2011                                                       8
                                     - 2011
Types de faille
 Essentiellement 3 méthodes pour
  extraire les informations de la base
  – “Error-based”
      • Messages d'erreur affichés révélant les
        informations convoitées
  – Failles “union”
      • Attaquant peut concaténer les résultats de
        plusieurs requêtes qui se retrouvent sur la page
  – Failles “blind”
         • La requête est effectuée mais le résultat jamais
 27.10.2011 affiché
                    Application Security Forum - Western Switzerland
                                                                     9
                                          - 2011
Déroulement d'attaque
 Recherche d'une faille
   – Où est la faille ?
 Identification de la faille
   – Quel type de faille ?
 Exploitation de la faille
   – Extraction des données



                Application Security Forum - Western Switzerland
 27.10.2011                                                        10
                                      - 2011
Recherche d'une faille
 Découvrir comment on peut interagir
  avec le site
   – Quels sont les paramètres ?
      • URL (GET), Formulaire (POST), Cookies




               Application Security Forum - Western Switzerland
 27.10.2011                                                       11
                                     - 2011
Recherche d'une faille
 Or 1=1 ?
   – Non non non
        • Pas toujours de différence
        • Détecté par la plupart des WAF/IDS/IPS
 Utiliser des requêtes donnant des
  résultats différents
   – AND 1=1 (aucun changement)
   – AND 1=2 (toujours faux, aucun résultat)
        • Si les pages générées ne sont pas identiques,
          grande probabilité Forum -failleSwitzerland
                    Application Security
                                         de Western
 27.10.2011                                               12
                            - 2011
Recherche d'une faille
                                                   Requête initiale




             Requête AND 1=1




                                                    Requête AND 1=2



                     Application Security Forum - Western Switzerland
27.10.2011                                                              13
                                           - 2011
Obfuscation
 AND 1=1
   – Souvent détecté par un WAF/IPS/IDS
 AND 1<2
 AND/*toto*/0x41!=0x42
 HaVinG%0a1337=1337




              Application Security Forum - Western Switzerland
 27.10.2011                                                      14
                                    - 2011
Identification de la faille
 Détecter si c'est un champ numérique
  ou texte
   – Si texte, détecter le type de quote
 Analyser quel type de commentaire est
  possible
   – /**/, --, #, %00




                Application Security Forum - Western Switzerland
 27.10.2011                                                        15
                                      - 2011
Identification de la faille
 Déterminer nombre de colonnes de la
  requête initiale
   – Permet de créer des unions correctes
   – Id=1 order by 1,2,3,4,...,X
 Déterminer si une colonne est affichée
  sur la page
   – UNION SELECT 'toto','titi','tata',...,X
   – Sinon c'est une injection “blind”

                Application Security Forum - Western Switzerland
 27.10.2011                                                        16
                                      - 2011
Exploitation de la faille
 Explorer le contenu de la base de
  données
   – MySQL : information_schema
   – MSSQL : sysobjects
   – Oracle : all_tab_columns
   – Bruteforcer le nom des tables/colonnes à
     l'aide d'un dictionnaire



              Application Security Forum - Western Switzerland
 27.10.2011                                                      17
                                    - 2011
Démonstration




             Application Security Forum - Western Switzerland
27.10.2011                                                      18
                                   - 2011
SQLat0r
 Automatisation de la recherche et
  exploitation de failles type 'UNION'
 Buts
   – Simple et intuitif
   – Couverture d'un maximum de failles




              Application Security Forum - Western Switzerland
 27.10.2011                                                      19
                                    - 2011
Fonctionnement
 Un module de détection
   – Crawling du site
   – Détection de paramètres
   – Détection d'injections
 Un module d'exploitation
   – Exploration de la base de données




              Application Security Forum - Western Switzerland
 27.10.2011                                                      20
                                    - 2011
Crawler
 Crawler traditionnel
   – Détecte les pages liées de manière
     statiques
   – <a href=””>
   – Récupère liste de pages, de paramètres, ...
   – Impossible de détecter les pages chargées
     de manière dynamique
        • Ajax
        • XMLHttpRequest

                 Application Security Forum - Western Switzerland
 27.10.2011                                                         21
                                       - 2011
Crawler 2.0
 Comment détecter les pages chargées
  dynamiquement ?
   – Analyse statique...
   – Analyse dynamique
        • Exécution du code et analyse




                  Application Security Forum - Western Switzerland
 27.10.2011                                                          22
                                        - 2011
Idée 1
 Interpréteur JavaScript
   – Extraction de tout code JS
   – Insertion dans l'interpréteur
   – Interception des appels à
     XMLHttpRequest()




               Application Security Forum - Western Switzerland
 27.10.2011                                                       23
                                     - 2011
Idée 2
 “Browsing forcé”
   – Chargement de la page dans un mini-
     navigateur
   – Recherche de tous les events de la page
        • onload, onmouseover, onclick, ...
   – Exécution de chaque event dans le
     contexte de la page
 Interception des requêtes par un Proxy

                  Application Security Forum - Western Switzerland
 27.10.2011                                                          24
                                        - 2011
Problèmes
 Forced Browsing
   – “this”
       • updateTable(this)
 Paramètres vides par défaut
   – Requièrent une interaction de
     l'utilisateur
       • Propositions, ...

              Application Security Forum - Western Switzerland
 27.10.2011                                                      25
                                    - 2011
Détection de vulnérabilité
 Algorithme de recherche des
  paramètres vulnérables
   – Base = contenu de la page “standard”
   – pTrue = contenu de la page “AND 1=1”
   – pFalse = contenu de la page “AND 1=2”
   – if(diff(Base,pTrue) < diff(pTrue,pFalse))
        • Vulnerable !
 diff basé sur le nombres de mots
  différents sur les deux pages
                   Application Security Forum - Western Switzerland
 27.10.2011                                                           26
                                         - 2011
Détection de vulnérabilité
 Ajout d'une “tolérance”
  – Chargement d'une même page pas
    toujours égale
     • Publicité
     • Commentaires
     • ...



              Application Security Forum - Western Switzerland
 27.10.2011                                                      27
                                    - 2011
Exploitation
 Récupération du schéma de la base
  sous la forme d'un arbre
   – Navigation simple dans la BDD




              Application Security Forum - Western Switzerland
 27.10.2011                                                      28
                                    - 2011
Démonstration




             Application Security Forum - Western Switzerland
27.10.2011                                                      29
                                   - 2011
Conclusion
 Outil simple et efficace
   – Point & Click
 Crawler Web 2.0
   – Nécessaire pour tout scanner actuel




               Application Security Forum - Western Switzerland
 27.10.2011                                                       30
                                     - 2011
© flickr.com/horiavarlan




                                               Vos questions ?




                           Application Security Forum - Western Switzerland
27.10.2011                                                                    31
                                                 - 2011
Merci!

        Alain Mowat
        alain@scrt.ch
        @plopz0r




                                                        SLIDES A TELECHARGER
                                                           PROCHAINEMENT:
                                                          http://slideshare.net/ASF-WS

                  Application Security Forum - Western Switzerland
27.10.2011                                                                               32
                                        - 2011

Contenu connexe

Tendances

Sécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et MobilesSécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et MobilesPhonesec
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouseSébastien GIORIA
 
Presentation des failles_de_securite
Presentation des failles_de_securitePresentation des failles_de_securite
Presentation des failles_de_securiteBorni Dhifi
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPyaboukir
 
Securing your API and mobile application - API Connection FR
Securing your API and mobile application - API Connection FRSecuring your API and mobile application - API Connection FR
Securing your API and mobile application - API Connection FRSebastien Gioria
 

Tendances (7)

Présentation au CRI-Ouest
Présentation au CRI-OuestPrésentation au CRI-Ouest
Présentation au CRI-Ouest
 
Sécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et MobilesSécurité des Développements Webs et Mobiles
Sécurité des Développements Webs et Mobiles
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Failles de sécurité
Failles de sécuritéFailles de sécurité
Failles de sécurité
 
Presentation des failles_de_securite
Presentation des failles_de_securitePresentation des failles_de_securite
Presentation des failles_de_securite
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
 
Securing your API and mobile application - API Connection FR
Securing your API and mobile application - API Connection FRSecuring your API and mobile application - API Connection FR
Securing your API and mobile application - API Connection FR
 

En vedette

Sensibilisation à la sécurité
Sensibilisation à la sécurité Sensibilisation à la sécurité
Sensibilisation à la sécurité Thibault Tim
 
2010 - Les technologies d'authentification forte dans les applications web: c...
2010 - Les technologies d'authentification forte dans les applications web: c...2010 - Les technologies d'authentification forte dans les applications web: c...
2010 - Les technologies d'authentification forte dans les applications web: c...Cyber Security Alliance
 
Data Security - Français
Data Security - FrançaisData Security - Français
Data Security - FrançaisData Security
 
Security Day "Définitions, Risques et Droits" par Fouad Guenane
Security Day "Définitions, Risques et Droits" par  Fouad Guenane Security Day "Définitions, Risques et Droits" par  Fouad Guenane
Security Day "Définitions, Risques et Droits" par Fouad Guenane WEBDAYS
 
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logicielASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logicielCyber Security Alliance
 
Mehari 2010-manuel-de-reference-2-14
Mehari 2010-manuel-de-reference-2-14Mehari 2010-manuel-de-reference-2-14
Mehari 2010-manuel-de-reference-2-14imen1989
 
Nuance - webinaire biométrie vocale du 15-01-2015
Nuance - webinaire biométrie vocale du 15-01-2015Nuance - webinaire biométrie vocale du 15-01-2015
Nuance - webinaire biométrie vocale du 15-01-2015Celine Kahouadji
 
Domain Name System Security Extensions (aka. DNSSEC pour les intimes)
Domain Name System Security Extensions (aka. DNSSEC  pour les intimes)Domain Name System Security Extensions (aka. DNSSEC  pour les intimes)
Domain Name System Security Extensions (aka. DNSSEC pour les intimes)felixaime
 
Usage based security Framework for Collaborative Computing Systems
Usage based security Framework for Collaborative Computing SystemsUsage based security Framework for Collaborative Computing Systems
Usage based security Framework for Collaborative Computing SystemsRomain Bochet
 
Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]
Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]
Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]Sébastien Rabaud
 
Sécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-SecuritySécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-SecuritySlimen Belhaj Ali
 
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 PasswordPRONETIS
 
Pierre Neis marshmallow challenge
Pierre Neis marshmallow challengePierre Neis marshmallow challenge
Pierre Neis marshmallow challengePierre E. NEIS
 
Foundations of Platform Security
Foundations of Platform SecurityFoundations of Platform Security
Foundations of Platform SecurityNate Lawson
 
2010 - Intégration de l'authentification: les mesures proposées par OWASP
2010 - Intégration de l'authentification: les mesures proposées par OWASP2010 - Intégration de l'authentification: les mesures proposées par OWASP
2010 - Intégration de l'authentification: les mesures proposées par OWASPCyber Security Alliance
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Vicente García Díaz
 
Le « Security by Design » et ses multiples facettes
Le « Security by Design » et ses multiples facettesLe « Security by Design » et ses multiples facettes
Le « Security by Design » et ses multiples facettesThierry Pertus
 
IBM SW Les nouveaux enjeux de la sécurité
IBM SW Les nouveaux enjeux de la sécuritéIBM SW Les nouveaux enjeux de la sécurité
IBM SW Les nouveaux enjeux de la sécuritéPatrick Bouillaud
 
Guide ANSSI : 40 règles d'hygiène informatique en 13 images de questions dig...
Guide ANSSI :  40 règles d'hygiène informatique en 13 images de questions dig...Guide ANSSI :  40 règles d'hygiène informatique en 13 images de questions dig...
Guide ANSSI : 40 règles d'hygiène informatique en 13 images de questions dig...Eric DUPUIS
 

En vedette (20)

Ebios
EbiosEbios
Ebios
 
Sensibilisation à la sécurité
Sensibilisation à la sécurité Sensibilisation à la sécurité
Sensibilisation à la sécurité
 
2010 - Les technologies d'authentification forte dans les applications web: c...
2010 - Les technologies d'authentification forte dans les applications web: c...2010 - Les technologies d'authentification forte dans les applications web: c...
2010 - Les technologies d'authentification forte dans les applications web: c...
 
Data Security - Français
Data Security - FrançaisData Security - Français
Data Security - Français
 
Security Day "Définitions, Risques et Droits" par Fouad Guenane
Security Day "Définitions, Risques et Droits" par  Fouad Guenane Security Day "Définitions, Risques et Droits" par  Fouad Guenane
Security Day "Définitions, Risques et Droits" par Fouad Guenane
 
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logicielASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
ASFWS 2011 : Les exigences PCI-DSS en terme de développement logiciel
 
Mehari 2010-manuel-de-reference-2-14
Mehari 2010-manuel-de-reference-2-14Mehari 2010-manuel-de-reference-2-14
Mehari 2010-manuel-de-reference-2-14
 
Nuance - webinaire biométrie vocale du 15-01-2015
Nuance - webinaire biométrie vocale du 15-01-2015Nuance - webinaire biométrie vocale du 15-01-2015
Nuance - webinaire biométrie vocale du 15-01-2015
 
Domain Name System Security Extensions (aka. DNSSEC pour les intimes)
Domain Name System Security Extensions (aka. DNSSEC  pour les intimes)Domain Name System Security Extensions (aka. DNSSEC  pour les intimes)
Domain Name System Security Extensions (aka. DNSSEC pour les intimes)
 
Usage based security Framework for Collaborative Computing Systems
Usage based security Framework for Collaborative Computing SystemsUsage based security Framework for Collaborative Computing Systems
Usage based security Framework for Collaborative Computing Systems
 
Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]
Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]
Politiques Sécurité de l'Information - [SCASSI] [Club 27001] [TLS] [2013]
 
Sécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-SecuritySécurisation des services WCF avec WS-Security
Sécurisation des services WCF avec WS-Security
 
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
 
Pierre Neis marshmallow challenge
Pierre Neis marshmallow challengePierre Neis marshmallow challenge
Pierre Neis marshmallow challenge
 
Foundations of Platform Security
Foundations of Platform SecurityFoundations of Platform Security
Foundations of Platform Security
 
2010 - Intégration de l'authentification: les mesures proposées par OWASP
2010 - Intégration de l'authentification: les mesures proposées par OWASP2010 - Intégration de l'authentification: les mesures proposées par OWASP
2010 - Intégration de l'authentification: les mesures proposées par OWASP
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...
 
Le « Security by Design » et ses multiples facettes
Le « Security by Design » et ses multiples facettesLe « Security by Design » et ses multiples facettes
Le « Security by Design » et ses multiples facettes
 
IBM SW Les nouveaux enjeux de la sécurité
IBM SW Les nouveaux enjeux de la sécuritéIBM SW Les nouveaux enjeux de la sécurité
IBM SW Les nouveaux enjeux de la sécurité
 
Guide ANSSI : 40 règles d'hygiène informatique en 13 images de questions dig...
Guide ANSSI :  40 règles d'hygiène informatique en 13 images de questions dig...Guide ANSSI :  40 règles d'hygiène informatique en 13 images de questions dig...
Guide ANSSI : 40 règles d'hygiène informatique en 13 images de questions dig...
 

Similaire à ASFWS 2011 - MiniMySqlat0r Reloaded

ASFWS 2011 - Malware: quelles limites pour les applications ebanking?
ASFWS 2011 - Malware: quelles limites pour les applications ebanking?ASFWS 2011 - Malware: quelles limites pour les applications ebanking?
ASFWS 2011 - Malware: quelles limites pour les applications ebanking?Cyber Security Alliance
 
Black Hat Europe 2008
Black Hat Europe 2008Black Hat Europe 2008
Black Hat Europe 2008fropert
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesBee_Ware
 
ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...
ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...
ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...Cyber Security Alliance
 
La sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de BockLa sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de BockNicolas Lourenço
 
SplunkLive! Paris 2018: Banque de France
SplunkLive! Paris 2018: Banque de FranceSplunkLive! Paris 2018: Banque de France
SplunkLive! Paris 2018: Banque de FranceSplunk
 
Owasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremierOwasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremierThomas Hofer
 
ASFWS 2011 - L’importance du protocole HTTP dans la menace APT
ASFWS 2011 - L’importance du protocole HTTP dans la menace APTASFWS 2011 - L’importance du protocole HTTP dans la menace APT
ASFWS 2011 - L’importance du protocole HTTP dans la menace APTCyber Security Alliance
 
ASFWS 2011 - Evaluation de la sécurité des applications mobiles
ASFWS 2011 - Evaluation de la sécurité des applications mobilesASFWS 2011 - Evaluation de la sécurité des applications mobiles
ASFWS 2011 - Evaluation de la sécurité des applications mobilesCyber Security Alliance
 
Sophia conf securite microservices - 2017
Sophia conf   securite microservices - 2017Sophia conf   securite microservices - 2017
Sophia conf securite microservices - 2017SecludIT
 
OWASP Mobile Top10 - Les 10 risques sur les mobiles
OWASP Mobile Top10 -  Les 10 risques sur les mobilesOWASP Mobile Top10 -  Les 10 risques sur les mobiles
OWASP Mobile Top10 - Les 10 risques sur les mobilesSébastien GIORIA
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceSébastien GIORIA
 
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01Cyber Security Alliance
 
Première rencontre d'owasp québec
Première rencontre d'owasp québecPremière rencontre d'owasp québec
Première rencontre d'owasp québecPatrick Leclerc
 
Hackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg FrHackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg FrDavid Girard
 
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesCyber Security Alliance
 

Similaire à ASFWS 2011 - MiniMySqlat0r Reloaded (20)

ASFWS 2011 - Malware: quelles limites pour les applications ebanking?
ASFWS 2011 - Malware: quelles limites pour les applications ebanking?ASFWS 2011 - Malware: quelles limites pour les applications ebanking?
ASFWS 2011 - Malware: quelles limites pour les applications ebanking?
 
Black Hat Europe 2008
Black Hat Europe 2008Black Hat Europe 2008
Black Hat Europe 2008
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuelles
 
ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...
ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...
ASFWS 2011 : Maîtriser les risques opérationnels de ses applications. Quels s...
 
La sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de BockLa sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de Bock
 
SplunkLive! Paris 2018: Banque de France
SplunkLive! Paris 2018: Banque de FranceSplunkLive! Paris 2018: Banque de France
SplunkLive! Paris 2018: Banque de France
 
Owasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremierOwasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremier
 
ASFWS 2011 - L’importance du protocole HTTP dans la menace APT
ASFWS 2011 - L’importance du protocole HTTP dans la menace APTASFWS 2011 - L’importance du protocole HTTP dans la menace APT
ASFWS 2011 - L’importance du protocole HTTP dans la menace APT
 
Mac app store redux
Mac app store reduxMac app store redux
Mac app store redux
 
ASFWS 2011 - Evaluation de la sécurité des applications mobiles
ASFWS 2011 - Evaluation de la sécurité des applications mobilesASFWS 2011 - Evaluation de la sécurité des applications mobiles
ASFWS 2011 - Evaluation de la sécurité des applications mobiles
 
Sophia conf securite microservices - 2017
Sophia conf   securite microservices - 2017Sophia conf   securite microservices - 2017
Sophia conf securite microservices - 2017
 
OWASP Mobile Top10 - Les 10 risques sur les mobiles
OWASP Mobile Top10 -  Les 10 risques sur les mobilesOWASP Mobile Top10 -  Les 10 risques sur les mobiles
OWASP Mobile Top10 - Les 10 risques sur les mobiles
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSource
 
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
 
Première rencontre d'owasp québec
Première rencontre d'owasp québecPremière rencontre d'owasp québec
Première rencontre d'owasp québec
 
Hackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg FrHackfest2010 Tm Dg Fr
Hackfest2010 Tm Dg Fr
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitae
 
Securite web is_ima
Securite web is_imaSecurite web is_ima
Securite web is_ima
 
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
 
Owasp
OwaspOwasp
Owasp
 

Plus de Cyber Security Alliance

Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Cyber Security Alliance
 
iOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itiOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itCyber Security Alliance
 
Why huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksWhy huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksCyber Security Alliance
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCyber Security Alliance
 
Introducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsIntroducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsCyber Security Alliance
 
Understanding the fundamentals of attacks
Understanding the fundamentals of attacksUnderstanding the fundamentals of attacks
Understanding the fundamentals of attacksCyber Security Alliance
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemCyber Security Alliance
 
Easy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fEasy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fCyber Security Alliance
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Cyber Security Alliance
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupCyber Security Alliance
 
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...Cyber Security Alliance
 
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptWarning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptCyber Security Alliance
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureCyber Security Alliance
 

Plus de Cyber Security Alliance (20)

Bug Bounty @ Swisscom
Bug Bounty @ SwisscomBug Bounty @ Swisscom
Bug Bounty @ Swisscom
 
Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?Robots are among us, but who takes responsibility?
Robots are among us, but who takes responsibility?
 
iOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce itiOS malware: what's the risk and how to reduce it
iOS malware: what's the risk and how to reduce it
 
Why huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacksWhy huntung IoC fails at protecting against targeted attacks
Why huntung IoC fails at protecting against targeted attacks
 
Corporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomwareCorporations - the new victims of targeted ransomware
Corporations - the new victims of targeted ransomware
 
Blockchain for Beginners
Blockchain for Beginners Blockchain for Beginners
Blockchain for Beginners
 
Le pentest pour les nuls #cybsec16
Le pentest pour les nuls #cybsec16Le pentest pour les nuls #cybsec16
Le pentest pour les nuls #cybsec16
 
Introducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging appsIntroducing Man in the Contacts attack to trick encrypted messaging apps
Introducing Man in the Contacts attack to trick encrypted messaging apps
 
Understanding the fundamentals of attacks
Understanding the fundamentals of attacksUnderstanding the fundamentals of attacks
Understanding the fundamentals of attacks
 
Rump : iOS patch diffing
Rump : iOS patch diffingRump : iOS patch diffing
Rump : iOS patch diffing
 
An easy way into your sap systems v3.0
An easy way into your sap systems v3.0An easy way into your sap systems v3.0
An easy way into your sap systems v3.0
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Easy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 fEasy public-private-keys-strong-authentication-using-u2 f
Easy public-private-keys-strong-authentication-using-u2 f
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
 
Offline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setupOffline bruteforce attack on wi fi protected setup
Offline bruteforce attack on wi fi protected setup
 
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
App secforum2014 andrivet-cplusplus11-metaprogramming_applied_to_software_obf...
 
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScriptWarning Ahead: SecurityStorms are Brewing in Your JavaScript
Warning Ahead: SecurityStorms are Brewing in Your JavaScript
 
Killing any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented featureKilling any security product … using a Mimikatz undocumented feature
Killing any security product … using a Mimikatz undocumented feature
 
Rump attaque usb_caralinda_fabrice
Rump attaque usb_caralinda_fabriceRump attaque usb_caralinda_fabrice
Rump attaque usb_caralinda_fabrice
 
Operation emmental appsec
Operation emmental appsecOperation emmental appsec
Operation emmental appsec
 

ASFWS 2011 - MiniMySqlat0r Reloaded

  • 1. MiniMySqlat0r reloaded Alain Mowat Ingénieur Sécurité SCRT Sàrl Application Security Forum Western Switzerland 27 octobre 2011 - HEIGVD Yverdon-les-Bains http://appsec-forum.ch
  • 2. $ whoami  Ingénieur EPFL en Informatique  Ingénieur Sécurité @ SCRT – Tests d'intrusion – Sécurité des applications Web Application Security Forum - Western Switzerland 27.10.2011 2 - 2011
  • 3. Agenda / Objectifs  Introduction – SQL, Injections, Types  Sqlat0r – Détection, Exploitation – Web 2.0 • Crawler Ajax  Conclusion Application Security Forum - Western Switzerland 27.10.2011 3 - 2011
  • 4. Introduction  Structured Query Language – Communication avec une base de données – Sites Web utilisent SQL pour extraire le contenu des pages à afficher  Exemple typique – SELECT * FROM news WHERE id=1 Application Security Forum - Western Switzerland 27.10.2011 4 - 2011
  • 5. Utilisation Application Security Forum - Western Switzerland 27.10.2011 5 - 2011
  • 6. Injection SQL  Existent depuis plus de 10 ans – Reste une des attaques les plus ravageuses sur Internet – TOP 10 OWASP depuis 2004 Application Security Forum - Western Switzerland 27.10.2011 6 - 2011
  • 7. Et pourtant... Application Security Forum - Western Switzerland 27.10.2011 7 - 2011
  • 8. Injection SQL  Faille permettant à un attaquant de modifier la requête SQL envoyée par un serveur Web à la BDD – Dû à une mauvaise validation des paramètres  Exemples – SELECT * FROM news WHERE id = -1 – SELECT * FROM news WHERE id = 1 or 1=1 – SELECT * FROM news WHERE id = 1 union ... Application Security Forum - Western Switzerland 27.10.2011 8 - 2011
  • 9. Types de faille  Essentiellement 3 méthodes pour extraire les informations de la base – “Error-based” • Messages d'erreur affichés révélant les informations convoitées – Failles “union” • Attaquant peut concaténer les résultats de plusieurs requêtes qui se retrouvent sur la page – Failles “blind” • La requête est effectuée mais le résultat jamais 27.10.2011 affiché Application Security Forum - Western Switzerland 9 - 2011
  • 10. Déroulement d'attaque  Recherche d'une faille – Où est la faille ?  Identification de la faille – Quel type de faille ?  Exploitation de la faille – Extraction des données Application Security Forum - Western Switzerland 27.10.2011 10 - 2011
  • 11. Recherche d'une faille  Découvrir comment on peut interagir avec le site – Quels sont les paramètres ? • URL (GET), Formulaire (POST), Cookies Application Security Forum - Western Switzerland 27.10.2011 11 - 2011
  • 12. Recherche d'une faille  Or 1=1 ? – Non non non • Pas toujours de différence • Détecté par la plupart des WAF/IDS/IPS  Utiliser des requêtes donnant des résultats différents – AND 1=1 (aucun changement) – AND 1=2 (toujours faux, aucun résultat) • Si les pages générées ne sont pas identiques, grande probabilité Forum -failleSwitzerland Application Security de Western 27.10.2011 12 - 2011
  • 13. Recherche d'une faille Requête initiale Requête AND 1=1 Requête AND 1=2 Application Security Forum - Western Switzerland 27.10.2011 13 - 2011
  • 14. Obfuscation  AND 1=1 – Souvent détecté par un WAF/IPS/IDS  AND 1<2  AND/*toto*/0x41!=0x42  HaVinG%0a1337=1337 Application Security Forum - Western Switzerland 27.10.2011 14 - 2011
  • 15. Identification de la faille  Détecter si c'est un champ numérique ou texte – Si texte, détecter le type de quote  Analyser quel type de commentaire est possible – /**/, --, #, %00 Application Security Forum - Western Switzerland 27.10.2011 15 - 2011
  • 16. Identification de la faille  Déterminer nombre de colonnes de la requête initiale – Permet de créer des unions correctes – Id=1 order by 1,2,3,4,...,X  Déterminer si une colonne est affichée sur la page – UNION SELECT 'toto','titi','tata',...,X – Sinon c'est une injection “blind” Application Security Forum - Western Switzerland 27.10.2011 16 - 2011
  • 17. Exploitation de la faille  Explorer le contenu de la base de données – MySQL : information_schema – MSSQL : sysobjects – Oracle : all_tab_columns – Bruteforcer le nom des tables/colonnes à l'aide d'un dictionnaire Application Security Forum - Western Switzerland 27.10.2011 17 - 2011
  • 18. Démonstration Application Security Forum - Western Switzerland 27.10.2011 18 - 2011
  • 19. SQLat0r  Automatisation de la recherche et exploitation de failles type 'UNION'  Buts – Simple et intuitif – Couverture d'un maximum de failles Application Security Forum - Western Switzerland 27.10.2011 19 - 2011
  • 20. Fonctionnement  Un module de détection – Crawling du site – Détection de paramètres – Détection d'injections  Un module d'exploitation – Exploration de la base de données Application Security Forum - Western Switzerland 27.10.2011 20 - 2011
  • 21. Crawler  Crawler traditionnel – Détecte les pages liées de manière statiques – <a href=””> – Récupère liste de pages, de paramètres, ... – Impossible de détecter les pages chargées de manière dynamique • Ajax • XMLHttpRequest Application Security Forum - Western Switzerland 27.10.2011 21 - 2011
  • 22. Crawler 2.0  Comment détecter les pages chargées dynamiquement ? – Analyse statique... – Analyse dynamique • Exécution du code et analyse Application Security Forum - Western Switzerland 27.10.2011 22 - 2011
  • 23. Idée 1  Interpréteur JavaScript – Extraction de tout code JS – Insertion dans l'interpréteur – Interception des appels à XMLHttpRequest() Application Security Forum - Western Switzerland 27.10.2011 23 - 2011
  • 24. Idée 2  “Browsing forcé” – Chargement de la page dans un mini- navigateur – Recherche de tous les events de la page • onload, onmouseover, onclick, ... – Exécution de chaque event dans le contexte de la page  Interception des requêtes par un Proxy Application Security Forum - Western Switzerland 27.10.2011 24 - 2011
  • 25. Problèmes  Forced Browsing – “this” • updateTable(this)  Paramètres vides par défaut – Requièrent une interaction de l'utilisateur • Propositions, ... Application Security Forum - Western Switzerland 27.10.2011 25 - 2011
  • 26. Détection de vulnérabilité  Algorithme de recherche des paramètres vulnérables – Base = contenu de la page “standard” – pTrue = contenu de la page “AND 1=1” – pFalse = contenu de la page “AND 1=2” – if(diff(Base,pTrue) < diff(pTrue,pFalse)) • Vulnerable !  diff basé sur le nombres de mots différents sur les deux pages Application Security Forum - Western Switzerland 27.10.2011 26 - 2011
  • 27. Détection de vulnérabilité  Ajout d'une “tolérance” – Chargement d'une même page pas toujours égale • Publicité • Commentaires • ... Application Security Forum - Western Switzerland 27.10.2011 27 - 2011
  • 28. Exploitation  Récupération du schéma de la base sous la forme d'un arbre – Navigation simple dans la BDD Application Security Forum - Western Switzerland 27.10.2011 28 - 2011
  • 29. Démonstration Application Security Forum - Western Switzerland 27.10.2011 29 - 2011
  • 30. Conclusion  Outil simple et efficace – Point & Click  Crawler Web 2.0 – Nécessaire pour tout scanner actuel Application Security Forum - Western Switzerland 27.10.2011 30 - 2011
  • 31. © flickr.com/horiavarlan Vos questions ? Application Security Forum - Western Switzerland 27.10.2011 31 - 2011
  • 32. Merci! Alain Mowat alain@scrt.ch @plopz0r SLIDES A TELECHARGER PROCHAINEMENT: http://slideshare.net/ASF-WS Application Security Forum - Western Switzerland 27.10.2011 32 - 2011