Comment trouver 75 000 failles de type injections SQL
GitHub est un site web d'hébergement et de gestion de projets. On y trouve souvent des logiciels libres dont on peut étudier ouvertement le code source. Il connaît un tel succès, qu'au dernier recensement qui a eu lieu en 2013, il hébergeait plus de 5 millions de repositories.
Mais il y a un hic. En effet, il est possible d'utiliser le moteur de recherche pour trouver des vulnérabilités dans le code source des applications et ceci de façon industrialisée.
Voici un exemple avec la requête suivante, qui permet de trouver toutes les variables PHP GET qui ne sont pas contrôlées et qui sont ensuite utilisées directement dans des requêtes SQL :
extension:php mysql_query $_GET
En d'autres termes, ce type de recherche permet de trouver toutes les failles de type injections SQL possibles, dans des applications PHP de n'importe quelle nature. Et il y a de quoi sursauter quand on regarde le nombre de résultats : plus de 75 000 entrées sont concernées. Si l'on essaye avec $_POST, on trouve sensiblement le même nombre de résultats.
Il ne reste plus qu'à patcher...
7 Commentaires pour "Comment trouver 75 000 failles de type injections SQL"
Flux des commentaires de cet article Ajouter un commentaireOn voit que le magic_quote a encore de beaux jours devant lui
Je suis pas tout à fait d'accord car l'exemple de requête ne prend pas en compte une éventuelle vérification préliminaire voir un (pseudo)-transtypage. Et ne permet pas de détecter le fait qu'on ai par exemple fait un [code]
settype($_GET["id"], "integer");
[/code] auparavant !
salut,
intéressant, cependant, je plussoie @Kext, ta requête prends aussi ceux qui peut-être protègent leur variables avec des mysql_escape_string etc.
Par contre, est-ce que les requêtes qui utilisent PDO sont infaillibles à l'injection SQL?
Oui, il semble que le PDO soit vraiment bien sécurisé contre ce type d'attaques, pour peu que tu le fasse bien. C'est comme partout, il faut faire attention a ce que l'on fait.
Ça fonctionne aussi pour trouver des failles XSS. Voici la requete: extension:php <?=$_GET
Il y a une des requêtes qui est sécurisé car il y a un cast vers un Int mais bon passons, sinon ça fait vraiment peur comme certains font n'importe quoi avec php.
Toujours pas patché... 153 000 resultats