PySQLi Framework d'injection de code SQL Meeting #Hackerzvoice 3 novembre 2012
Plan (1/2) Les camés du SQL TOP 10 OWASP Rappels sur les injections Exploitations possibles Outils (non exhaustif) Sqlmap Havij Limitations Frameworks BBQSQL Limitations 2
Plan (2/2) PySQLi Historique Principe Exemple Exemples d'utilisation Formulaire anti-csrf Ligne de commande Injection via protocole spécifique Questions 3
Les camés du SQL TOP 10 OWASP Une des vulnérabilités les plus exploitées Leaks sur pastebin Différents dox Facile à exploiter Navigateur Cerveau 2.0 Peut aussi servir à faire plein d'autres choses Bypass d'authentification Elévation de privilèges Le café (naaah) 4
Injection SQL : rappels Différents modes d'exploitation Timing attack Inband (UNION SELECT...) Blind (dichotomie) Différents DBMS Oracle MSSQL MySQL Informix PostgreSQL
Exploitations possibles Extraction d'information Injection dans les paramètres (POST/GET) Injection dans les en-têtes HTTP Cookie User-Agent Injection dans les fichiers (via HTTP) Injection d'information Contournement d'authentification
Outils existant Sqlmap Très fourni Permet d'exploiter un bon nombre de pages vulnérables Supporte différentes options d'attaque Must-have du pentester Havij Outil Windows Click&Exploit Développé par des gens peu fiables Disponible sous forme d'exécutable, difficile de savoir ce qu'il fait N00b!
Outils : limitations Pratiques Dump automatique Test des paramètres vulnérables MAIS Inutilisable dans le cas d'exploitations difficiles Injection autre part que dans des requêtes HTTP impossible! Un framework serait plus utile
Frameworks BBQSQL Framework python Supporte plusieurs techniques d'injection PYTHON on vous dit! Limitations Déjà plus fourni Facilite le développement d'exploit On peut faire mieux?
PySQLi Python SQL injection framework Python c'est bon, mangez-en Facile à améliorer/étendre Compréhensible Historique En développement depuis 3 ans... Eprouvé en pentest Approche différente des frameworks actuels
PySQLi : origine Constat Identification par l'erreur ou le comportement Contexte d'injection généralement connu Besoin Développer des exploits avancés Sqlmap suffit dans la plupart des cas Quand sqlmap ne passe pas, c'est la misèèèère Développer rapidement Framework Python
PySQLi Principe Forge : moteur de génération de code SQL injecté Injecteur Trigger
Exemple Exploitation d'une injection via URL
Framework extensible Injection possible dans théoriquement n'importe quoi Ligne de commande Requêtes HTTP Protocoles réseau spéciaux (D)TC
Exemples d'utilisation Demos Formulaire avec anti-csrf Pas supporté par sqlmap Injection dans une ligne de commande idem! Injection dans un protocole d'authentification maison
Téléchargement Disponible sous github https://github.com/sysdream/pysqli/
Questions?id=' OR '1'='1
PySQLi Framework d'injection de code SQL Meeting #Hackerzvoice 3 novembre 2012
Plan (1/2) Les camés du SQL TOP 10 OWASP Rappels sur les injections Exploitations possibles Outils (non exhaustif) Sqlmap Havij Limitations Frameworks BBQSQL Limitations 2
Plan (2/2) PySQLi Historique Principe Exemple Exemples d'utilisation Formulaire anti-csrf Ligne de commande Injection via protocole spécifique Questions 3
Les camés du SQL TOP 10 OWASP Une des vulnérabilités les plus exploitées Leaks sur pastebin Différents dox Facile à exploiter Navigateur Cerveau 2.0 Peut aussi servir à faire plein d'autres choses Bypass d'authentification Elévation de privilèges Le café (naaah) 4
Injection SQL : rappels Différents modes d'exploitation Timing attack Inband (UNION SELECT...) Blind (dichotomie) Différents DBMS Oracle MSSQL MySQL Informix PostgreSQL
Exploitations possibles Extraction d'information Injection dans les paramètres (POST/GET) Injection dans les en-têtes HTTP Cookie User-Agent Injection dans les fichiers (via HTTP) Injection d'information Contournement d'authentification
Outils existant Sqlmap Très fourni Permet d'exploiter un bon nombre de pages vulnérables Supporte différentes options d'attaque Must-have du pentester Havij Outil Windows Click&Exploit Développé par des gens peu fiables Disponible sous forme d'exécutable, difficile de savoir ce qu'il fait N00b!
Outils : limitations Pratiques Dump automatique Test des paramètres vulnérables MAIS Inutilisable dans le cas d'exploitations difficiles Injection autre part que dans des requêtes HTTP impossible! Un framework serait plus utile
Frameworks BBQSQL Framework python Supporte plusieurs techniques d'injection PYTHON on vous dit! Limitations Déjà plus fourni Facilite le développement d'exploit On peut faire mieux?
PySQLi Python SQL injection framework Python c'est bon, mangez-en Facile à améliorer/étendre Compréhensible Historique En développement depuis 3 ans... Eprouvé en pentest Approche différente des frameworks actuels
PySQLi : origine Constat Identification par l'erreur ou le comportement Contexte d'injection généralement connu Besoin Développer des exploits avancés Sqlmap suffit dans la plupart des cas Quand sqlmap ne passe pas, c'est la misèèèère Développer rapidement Framework Python
PySQLi Principe Forge : moteur de génération de code SQL injecté Injecteur Trigger
Exemple Exploitation d'une injection via URL
Framework extensible Injection possible dans théoriquement n'importe quoi Ligne de commande Requêtes HTTP Protocoles réseau spéciaux (D)TC
Exemples d'utilisation Demos Formulaire avec anti-csrf Pas supporté par sqlmap Injection dans une ligne de commande idem! Injection dans un protocole d'authentification maison
Téléchargement Disponible sous github https://github.com/sysdream/pysqli/
Questions?id=' OR '1'='1