IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Piratage compte FTP [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Par défaut Piratage compte FTP
    Bonsoir à tous,

    Je m'excuse par avance, parce que je ne suis peut être pas dans la bonne rubrique, mais je n'ai pas trouvé où poser ma question, et comme la description contient le mot sécurité...

    J'ai un problème avec un hébergement qui a subit deux intrusions en quelques jours et j'aurais besoin d'aide pour comprendre où se trouvent les failles et comment les corriger. Concrètement un pirate à déposé des dossiers et des fichiers destinés à du phishing. La première fois, c'était Paypal, et la seconde un paiement par visa.

    Il s'agit d'un hébergement chez 1&1 sur un serveur privé. Le site est développé en PHP et connecté à une base MySQL. Il s'agit d'une boutique en ligne toute simple que j'ai entièrement développée qui contient notamment un formulaire d'upload pour des photos. Je le précise, parce que je me demande si le point d'accès ne se trouve pas ici.

    La première fois, j'ai pu récupérer les fichiers (avec notamment un fichier PHP crypté et un fichier a.php.gif qui sont bien reconnus par Avast comme étant dangereux), mais j'ai eu du mal à les supprimer avec FileZilla (j'ai du me servir d'une fonction PHP avec unlink).

    La seconde fois (c'est à dire il y a 20 minutes), je n'ai pas pu récupérer les fichiers, mais je les ai effacé de la même façon.

    Je n'arrive pas à comprendre comment il a fait pour créer les dossiers et déposer les fichiers.

    Le formulaire d'upload est disponible uniquement par l'administrateur du site, derrière une protection par session (Nom d'utilisateur / Mot de passe). Sur le FTP, j'ai un seul et unique répertoire dans lequel je place des images auquel j'ai donné les droits chmod 777. Lors de l'upload, je test les extensions de fichiers et je n'accepte que JPG, JPEG, PNG et GIF.

    La première fois, le dossier et les fichiers était dans ce répertoire d'images.
    La seconde fois, le pirate à modifier les droits d'un autre répertoire (au même niveau que le dossier images) et a copier un répertoire dedans.

    La question c'est : comment fait il et surtout, comment me protéger pour éviter que ça se reproduise. Sachant que je suis responsable de ce qui se trouve sur le serveur, c'est moi qui trinque s'il y a fraude et plainte...

    Heureusement, 1&1 m'envoie une alerte très rapidement après avoir détecté le problème...

    Dans l'espoir que vous pourrez m'expliquer, je vous remercie par avance.
    Je sais qu'on ne peut pas totalement se protéger des pirates, mais au moins si je peux corriger les failles.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton systeme d'authentification n'est visiblement pas efficace.
    Si tu valide l'utilisateur dans une base de donnée, as-tu bien oeuvré contre les injections SQL ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Par défaut
    Ca fait des heures que je cherche.
    J'ai analysé les logs et apparemment le pirate utilise un logiciel qui teste des nombreuses url pour trouver le formulaire d'identification de l'admin (on voit pleins d'url différentes testées à la même seconde).

    Ensuite il a fait plein de tests avec des url en passant des paramètres afin d'afficher des infos dans les pages, je ne savais même pas que c'était possible. Il a réussit à trouver le nom des champs de mes tables en provoquant des erreurs (les requêtes en cause s'affichent à l'écran et je me rend compte que c'est une très mauvaise idée.)

    Avec la requête ci-dessous par exemple, il a pu afficher les adresses e-mail de tous les utilisateurs, dans la page qui affiche normalement les produits (et qui n'est pas faite du tout pour afficher les adresses e-mail.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    boutique.php?page=2&cat_id=-2+union+select+1,2,3,4,5,user_email,7,8,9+from+users--
    Il a fait de même avec les mots de passe et il a ensuite pu accéder a l'interface d'admin. En fait apparemment, il peut afficher n'importe quelle info dans n'importe quelle page et je ne sais pas du tout comment me protéger de ça... c'est surement ce que tu appelle des injections SQL.

    Ensuite, il doit aussi y avoir des failles dans le formulaire d'upload, parce qu'il a pu balancer des fichiers qui sont normalement interdits. Pour l'instant, je n'ai pas encore terminé d'analyser les logs, je n'en sais donc pas plus...

    Mais c'est dingue ! Comment il fait pour afficher l'adresse e-mail dans la page des produits ? A la limite, envoyer des paramètres d'une façon bien précise pour modifier les requêtes, je peux comprendre, mais comment fait il pour afficher des données que je n'ai pas prévu d'afficher dans les pages ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2006
    Messages : 75
    Par défaut
    Je te remercie pour cette info.
    J'utilise déjà la fonction mysql_real_escape_string() dans ma procédure de login.
    Le problème ne semble pas venir de là. En fait le pirate possède les identifiants car il les a trouvé via la page produits grâce à la requête ci-dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boutique.php?page=2&cat_id=-2+union+select+1,2,3,4,5,user_email,7,8,9+from+users--
    Ce que je ne comprend pas, c'est comment on peut afficher l'adresse email et le mot de passe des utilisateurs dans une page qui est destinée à afficher des produits.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    si ta requête est sujette aux injections, il est possible de lui faire retourner un champ à la place d'un autre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création de compte Ftp
    Par ForceTranquille dans le forum Administration système
    Réponses: 2
    Dernier message: 24/04/2007, 15h19
  2. acceder à mon compte FTP free
    Par mr_samy81 dans le forum Dépannage et Assistance
    Réponses: 4
    Dernier message: 17/01/2007, 16h07
  3. Création dynamique de compte FTP
    Par AngesGabriel dans le forum Internet
    Réponses: 4
    Dernier message: 24/07/2006, 18h16
  4. Connexion compte ftp
    Par tomfoot dans le forum Composants VCL
    Réponses: 3
    Dernier message: 27/02/2006, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo