Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Sécurité - Mises à jour _ piratage et autorisation sur fichier

Écrit par : chou 16 Apr 2012, 22:53

Bonjour, je viens de me faire piraté, j'ai suivi a la lettre, les recommandations a faire sur le forum cependant j'ai constaté qu'en cliquant sur PROPRIETES puis SECURITE sur le fichier configure du dossier includes, qu'il y a un COMPTE INCONNU (en plus du nom de mon PC) qui à autoriser l'acces a ce fichier. il peut le modifier, le lire, mettre des attributs etcccc
donc j'ai voulu creer un nouveau fichier configure pour qu'il n'est plus acces a celui-ci. mais en mettant le nouveau configure sur le serveur, rien n'y fait la securite du nouveau configure est a nouveau sous mon nom de pc et celui de l'inconnu. comment y remedier? peut etre qu'il a mis un code quel part sur le serveur qui l'autorise a chaque fois a avoir total acces a la securité du fichier mais où? je n'ai rien vu de suspect.
pour le moment je n'ai fait que cliquer sur TOUT REFUSER dans les parametres de securité du fichier pour cet inconnu (dans propriétes, puis securité)

que dois je faire? j'attends votre aide est precieuse car il aura tres vite remarqué cela

Écrit par : chou 16 Apr 2012, 23:42

désolé d'avoir encore repondu, mais là c'est de pire en pire. j'ai vu qu'il avait modifier totalement le fichier password_forgetten dans www/includes/languages/french. donc j'ai remplacé de fichier par l'ancien (le bon) et depuis j'ai ce message d'erreur:

Warning: main(includes/languages/.././../images/img-353168119219.php) [function.main]: failed to open stream: No such file or directory in /homez.29/stringse/www/includes/application_top.php on line 285

Fatal error: main() [function.require]: Failed opening required 'includes/languages/.././../images/img-353168119219.php' (include_path='.:/usr/local/lib/php') in /homez.29/stringse/www/includes/application_top.php on line 285




j'avais deja effacé ces fichiers (includes/languages/.././../images/img-353168119219.php) qu'il avait integrer mais là je bloque

Écrit par : chou 17 Apr 2012, 02:01

j'ai essayé d'avancer sans grand succes, j'ai vu qu'il a inséré un code vers un lien sur mon site (au passage ce lien ne fonctionne pas, vu qu'il ramene au fichier IMG... que j'ai precedemment parlé et que j'ai supprimé) dans le "BODY" (c'est quel fichier voir cela? car j'ai cherché dans HEADER, dans FOOTER je n'ai pas trouver)
voici ce code que j'ai trouver en faisant cliquer droir pour avoir le code source: (j'ai volontairement remplacer l'adresse de mon site par www.MONSITE.com).
je pense que le code qu'il a inseré est plus bas, j'essaye de trouver une solution.. aaa je commence a m'enervé legerement !!!

Code
<!-- header //-->
<!-- start -->
<script>
    function blink(ob)
{
if (ob.style.visibility == "visible" )
{
ob.style.visibility = "hidden";
}
else
{
ob.style.visibility = "visible";
}
}
setInterval("blink(sexshopclic)",500);
</script>
<table cellpadding="0" cellspacing="0" border="0" style="width:766px" align="center">
    <tr>
        <td>
            <table cellpadding="0" cellspacing="0" border="0" style="height:431px">
                <tr>
                    <td>
                        <table cellpadding="0" cellspacing="0" border="0">
                            <tr>
                                <td><a href="http://www.MONSITE.com/index.php?osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/french/images/buttons/m1.gif" border="0" alt="" width="161" height="81"></a><a href="http://www.MONSITE.com/products_new.php?osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/french/images/buttons/m2.gif" border="0" alt="" width="172" height="81"></a><a href="http://www.MONSITE.com/specials.php?osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/french/images/buttons/m3.gif" border="0" alt="" width="131" height="81"></a><a href="http://www.MONSITE.com/account.php?osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/french/images/buttons/m4.gif" border="0" alt="" width="156" height="81"></a><a href="http://www.MONSITE.com/contact_us.php?osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/french/images/buttons/m5.gif" border="0" alt="" width="146" height="81"></a></td>
                            </tr>
                        </table>
                        <table cellpadding="0" cellspacing="0" border="0">
                            <tr>
                                <td>
                                    <table cellpadding="0" cellspacing="0" border="0" style="width:410px">
                                        <tr>
                                            <td>
                                                <table cellpadding="0" cellspacing="0" border="0" style="height:65px; background:url(images/li-1.gif)" class="header">
                                                    <tr>
                                                        <td><img src="images/spacer.gif" border="0" alt="" width="29" height="1"></td>
                                                        <td>
                                                            <table cellpadding="0" cellspacing="0" border="0" style="width:69px">
                                                                <tr>
                                                                    <td>
                                                                        <strong>Devises:</strong><br>
                                                                    </td>
                                                                </tr>
                                                            </table>
                                                        </td>
                                                        <td>
                                                            <table cellpadding="0" cellspacing="0" border="0" style="width:113px">
                                                                <tr>
                                                                    <td><form name="currencies" action="http://www.MONSITE.com/index.php" method="get"><input type="hidden" name="osCsid" value="cfb6ed33b4ad3fd729edae9683243f3b" /><select name="currency" onChange="this.form.submit();" class="jamp"><option value="EUR" SELECTED>Euro</option></select><input type="hidden" name="osCsid" value="cfb6ed33b4ad3fd729edae9683243f3b"></form></td>
                                                                </tr>
                                                            </table>
                                                        </td>
                                                        <td><img src="images/z.gif" border="0" alt="" width="1" height="65"></td>
                                                        <td><img src="images/spacer.gif" border="0" alt="" width="22" height="1"></td>    
  <td>
                                                            <table cellpadding="0" cellspacing="0" border="0" style="width:68px">
                                                                <tr>
                                                                    <td>
                                                                        <strong>Langues:</strong><br>
                                                                    </td>
                                                                </tr>
                                                            </table>
                                                        </td>
                                                        <td>
                                                            <table cellpadding="0" cellspacing="0" border="0" style="width:95px">
                                                                <tr>
                                                                    <td><a href="http://www.MONSITE.com/index.php?language=wa&osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/.././../images/img-353168119219/images/" border="0" alt="wa" title=" wa "></a>&nbsp;&nbsp;<a href="http://www.MONSITE.com/index.php?language=fr&osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/french/images/icon.gif" border="0" alt="French" title=" French " width="24" height="15"></a>&nbsp;&nbsp;<a href="http://www.MONSITE.com/index.php?language=en&osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="includes/languages/english/images/icon.gif" border="0" alt="english" title=" english " width="24" height="15"></a>&nbsp;&nbsp;</td>
                                                                </tr>
                                                            </table>
                                                        </td>
                                                        <td><img src="images/z2.gif" border="0" alt="" width="13" height="65"></td>
                                                    </tr>
                                                </table>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td><a href="http://www.MONSITE.com/index.php?osCsid=cfb6ed33b4ad3fd729edae9683243f3b"><img src="images/logo.gif" border="0" alt="" width="410" height="191"></a></td>
                                        </tr>
                                        <tr>
                                            <td>
                                                <table cellpadding="0" cellspacing="0" border="0" style="height:70px; background:url(images/li-2.gif)" class="header">
                                                    <tr>
                                                        <td><img src="images/spacer.gif" border="0" alt="" width="43" height="1"></td>
                                                        <td>
                                                            <table cellpadding="0" cellspacing="0" border="0" style="width:171px">
                                                                <tr>
                                                                    <td>
                                                                        <br style="line-height:7px">
                                                                       <img src="images/z7.gif" border="0" alt="" width="14" height="18"  class="vam"> &nbsp;<strong>Panier</strong><br>
                                                                        <br style="line-height:2px"><a href="http://www.MONSITE.com/shopping_cart.php?osCsid=cfb6ed33b4ad3fd729edae9683243f3b">0 ... Votre panier est vide</a><br>
                                                                    </td>
                                                                </tr>
                                                            </table>
                                                        </td>
                                                        <td><img src="images/z6.gif" border="0" alt="" width="1" height="70"></td>
                                                        <td><img src="images/spacer.gif" border="0" alt="" width="27" height="1"></td>    
                                                        <td>
<!-- manufacturers //-->


Écrit par : chou 17 Apr 2012, 03:10

désolé sad.gif encore un soucis, quand je clique sur S'IDENTIFIER sur mon site, je tombe sur ça aussi. ça peut aider? meme message d'erreur


Code
Warning: main(includes/languages/.././../images/img-353168119219.php) [function.main]: failed to open stream: No such file or directory in /homez.29/stringse/www/includes/application_top.php on line 285

Fatal error: main() [function.require]: Failed opening required 'includes/languages/.././../images/img-353168119219.php' (include_path='.:/usr/local/lib/php') in /homez.29/stringse/www/includes/application_top.php on line 285

Écrit par : Gnidhal 17 Apr 2012, 08:37

Mais tu as une piste à suivre : "in /homez.29/stringse/www/includes/application_top.php on line 285"
C'est sur que quand on a laissé la porte ouverte, on a un grand ménage à faire!
Il faut que tu pistes toutes les images dans images/ et que tu contrôles leur validité.
il faut aussi que tu passes tous les scripts de la racine et dans includes au peigne fin et que tu vérifies point par point toutes les lignes qui contiennent include() et require() dans application_top, languages/french/ etc.
Tu dois chercher les scripts javascript (.js) qui ne sont pas dans le pack d'origine : dans la racine, dans includes/ dans includes/javascript/ etc.
Et en plus tu dois vérifier ta BDD et la table configuration pour voir si un code malicieux n'aurait pas été inséré.

Un travail de fourmi, mais c'est la seule solution.

Voila une bonne raison de :
1/ placer dès le départ (même avant de faire le ménage) un .htaccess/.htpasswd sur le dossier admin pour en protéger l'accès
2/ changer les mots de passe ftp
3/ éventuellement changer le mot de passe de la bdd (pas indispensable mais...)

4/ placer dans le dossier images/ un fichier .htaccess contenant :

Code
#interdit l'accès à tout fichier
<Files *>
Order Deny,Allow
Deny from all
</Files>
#autorise la lecture des images uniquement
<FilesMatch "\.(gif|jpe?g|png|ico|GIF|JPE?G|PNG|ICO)$">
Allow from all
</FilesMatch>

Si tu as dans images/ des fichiers d'autre type (txt, pdf...) tu n'as qu'à ajouter les extensions dans la chaine de FileMatch avec un séparateur qui est | et une fois en majuscule et une autre en minuscule au cas où.
Ne jamais laisser l'accès aux fichiers avec une extension exécutable (.php ou .js) dans le dossier images/ sauf avec un script parfaitement identifié dont tu connais l'usage exemple :
Code
#autorise l'accès au fichier captcha.php uniquement
<Files captcha.php>
Allow from all
</Files>


Le dossier images/ est une porte d'entrée car certains scripts de l'admin permettent d'y envoyer des fichiers (les images) il ne faut donc pas que ce dossier accepte d'exécuter un code malicieux.
Normalement le code de base que j'ai donné plus haut sert justement à cela.

Écrit par : paddybl 17 Apr 2012, 08:38

salut,
seul solution, trouver comment il est entré si possible. et tout effacer pou réuploader le site...
vérifier ton ordi perso et ta version de logiciel ftp si elle est à jours.
vérifier les entrées en base de données des acces admin si tu as pas des lignes en trop
et surtout vérrouiller le serveur avant de recommencer un upload du site.
si celà recommence apres avoir remis les sécurités de base expliquées dans la faq,
c'est que le serveur est compromis.
sauvegarder la base et réinstaller le serveur dans ce cas... et changer de mot de passe. pas de 1234

Écrit par : Gnidhal 17 Apr 2012, 08:45

Mais tiens, une question bête, ton site est hébergé sur ton PC sous windows ?
Si c'est le cas, il est urgent de tout arrêter.
(couper toute liaison avec Internet sur ce serveur)
Si tu fais tourner osCommerce sur IIS il faut faire appel à un pro de la sécurité réseau Win.
Les failles de Win sont tellement nombreuses, qu'il est impératif de maîtriser parfaitement le sujet avant de mettre en place un site marchand sur ce type de serveur.

ce qui m'a mis la puce à l'oreille c'est :

Citation (chou @ 16 Apr 2012, 22:53) *
j'ai constaté qu'en cliquant sur PROPRIETES puis SECURITE sur le fichier configure du dossier includes, qu'il y a un COMPTE INCONNU (en plus du nom de mon PC) qui à autoriser l'acces a ce fichier. il peut le modifier, le lire, mettre des attributs etcccc


Un hébergeur sert justement à éviter ce genre de gag !

mais cela ne colle pas avec l'erreur que tu cites : " in /homez.29/stringse/www/includes/application_top.php on line 285" qui semble désigner un serveur OVH.


Alors c'est quoi le binz ?

Écrit par : chou 17 Apr 2012, 10:48

Citation (Gnidhal @ 17 Apr 2012, 08:45) *
Mais tiens, une question bête, ton site est hébergé sur ton PC sous windows ?
Si c'est le cas, il est urgent de tout arrêter.
(couper toute liaison avec Internet sur ce serveur)
Si tu fais tourner osCommerce sur IIS il faut faire appel à un pro de la sécurité réseau Win.
Les failles de Win sont tellement nombreuses, qu'il est impératif de maîtriser parfaitement le sujet avant de mettre en place un site marchand sur ce type de serveur.

ce qui m'a mis la puce à l'oreille c'est :
Citation (chou @ 16 Apr 2012, 22:53) *
j'ai constaté qu'en cliquant sur PROPRIETES puis SECURITE sur le fichier configure du dossier includes, qu'il y a un COMPTE INCONNU (en plus du nom de mon PC) qui à autoriser l'acces a ce fichier. il peut le modifier, le lire, mettre des attributs etcccc


Un hébergeur sert justement à éviter ce genre de gag !

mais cela ne colle pas avec l'erreur que tu cites : " in /homez.29/stringse/www/includes/application_top.php on line 285" qui semble désigner un serveur OVH.


Alors c'est quoi le binz ?



merci a tous pour vos reponses
ben j'ai deja changer tout les mots de passe.
là j'ai filezilla, mais je viens de le supprimer et j'ai à nouveau changer de mot de passe FTP

et oui je suis heberger sous ovh. je n'heberge pas moi meme mon site. et concernant l'erreur affiché, c'est la 1ere chose que j'ai fais verifié le fichier application top voila le code. je ne trouve rien, peut etre que je me trompe:

la ligne 285 correspond a : // include the language translations
require(DIR_WS_LANGUAGES . $language . '.php');


Écrit par : Gnidhal 17 Apr 2012, 18:06

Ok, il faut remonter la piste et inutile de nous mettre tout le contenu de tes scripts ici,
si la ligne 285 est

Code
require(DIR_WS_LANGUAGES . $language . '.php');

il faut donc que tu épluches la classe language qui construit la variable $language.
La piste est là, juste au dessus dans les lignes 275 et suivantes :
Code
   include(DIR_WS_CLASSES . 'language.php');
    $lng = new language();/* ICI on instancie la classe*/

    if (isset($HTTP_GET_VARS['language']) && tep_not_null($HTTP_GET_VARS['language'])) {
      $lng->set_language($HTTP_GET_VARS['language']);
    } else {
      $lng->get_browser_language();
    }

    $language = $lng->language['directory']; /* ICI on récupère la variable */


Et à chaque fois que tu vas trouver un truc bizarre tu remontes à la source en regardant ce qui génère l'erreur.
Bonne chasse au malin wink.gif

Écrit par : chou 17 Apr 2012, 19:40

ok jdesolé , j'ai editer mon post pour retirer mon code.
bon je me met a la recherche du soucis ...

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)