interdire les includes

Mammouth du PHP | 558 Messages

20 juil. 2008, 12:18

bonjour
je vient d'apprendre qu'il étais possible de hacker un site en le placant dans un include.
comment faire pour interdire l'include si il n'est pas effectuer sur le meme serveur que le site.
ou plus precisement si l'include se passe sur un autre site vue que je suis en mutualise.
merci.

ViPHP
ViPHP | 2291 Messages

20 juil. 2008, 12:22

bonjour
je vient d'apprendre qu'il étais possible de hacker un site en le placant dans un include.
comment faire pour interdire l'include si il n'est pas effectuer sur le meme serveur que le site.
ou plus precisement si l'include se passe sur un autre site vue que je suis en mutualise.
merci.
Regarde ici peut-être :wink:

Mammouth du PHP | 558 Messages

20 juil. 2008, 12:36

j'ai rien trouve concerné mon probleme merci tout de meme dunbar.

ViPHP
ViPHP | 2291 Messages

20 juil. 2008, 12:47

Pour trouver il faut chercher, mais quand on ne prend même pas le peine de lire effectivement ont ne trouve rien.

Mammouth du PHP | 558 Messages

20 juil. 2008, 12:57

Les register_globals: sa ne concerne pas le probleme de plus deja a off.

La faille include: cela ne me concerne ni de pres ni de loin je n'utilise jamais un variable quel quel soit dans un include. pour ce point j'utilise ceci
<?php
if($_GET['page']=="page1") { include"page1.php"; }
elseif { if($_GET['page']=="page2") { "page2.php"; } //etc...
else { include"page-par-defaut.php"; } 
La faille du code HTML et des formulaires: je voi pas le rapport (get et post deja proteger)

Les failles de type SQL injection: pas de rapport non plus deja proteger.

Les failles utilisant l'upload: je n'utilise pas l'upload donc pas concerner.

j'ai fait des recherches sur leur moteurs.
interdire+includes qui a donner interdireincludes
includes
interdire includes
interdire les include effectuer a partir dun autre site
et a part ses mots cle je ne voi pas.

avant de me dire que je suis flemmard et que je ne lit pas ...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 juil. 2008, 16:21

bonjour
je vient d'apprendre qu'il étais possible de hacker un site en le placant dans un include.
Et où as-tu appris ça si c'est pas indiscret ? et dans quel contexte exactement ?

Parce que la fonction include(), dès lors que tu vas l'utiliser avec une adresse absolue (un http:// donc) va appeller la page en question, laisser le serveur exécuter son script et récupérer le résultat, c'est a dire le code html que le commun des mortels peut trouver lorsqu'il tape l'url dans son navigateur (et il n'a pas hacké le site pour autant ;))

Maintenant si tu utilises un include avec des pseudos-frames qui ne sont pas ou mal protégées (en définissant la liste des pages et ou des dossiers autorisés) on pourrait effectivement faire inclure des scripts malveillants à ta page, afin de lister les fichiers présents sur le serveur ou lui faire ouvrir les fichiers de configuration pour récupérer logins et mot de passe éventuels...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 1 Messages

20 juil. 2008, 18:48

Alors je vais relever une ou deux petite chose.
déjà :
- Hakazizi
ta protection est bonne contre les injections de page dans ton code.
mais les pages sont très nettement trop prévisible ... Peut être amelioré.
- Ryle , oui les acces http , mais pas seulement, le faite de donner par un array ou une liste de ifelse ( ou switch ) permet de n'accepter que ce qui est prévu.
Si on désside de faire ../ ou / ou ./ ou encore https ou ftp , il y as vraiment trop de cas ou le pirate peut jouer.


Ensuite : Le but d'eviter d'être inclu , et non pas de protégé ses include et juste une parano.
En effect les hacker ont frécament des scripts en : php / python / c ( dans l'ordre de frécance )
Bien qu'en soit ce ne soit pas plus dangeureux que Ctrl-U de FireFox, se laisser inclure signifie accepter les scripts frécents.
La question a se poser est : Mon site est-il si risquez que ca, pour que j'interdise de me faire inclure , ouvrir par des scripts python ? ....?
Je pense que pour 80 % des sites ce n'est pas utile, et si le webmaster est parano, il peufaire un exit en début de page, ca suffi pour bloquez les scripts.
Si on peut bannir les gens qui ont de genre de pratique on risque d'avoir des problèmes du type :
J'ai fait un échange de lien, le webmaster de l'autre site verife la présence du lien de retour en python, le script ne l'as pas trouver , mon liens a été detruit...
Donc es-ce que ca vaut le coup de se prendre la tête pour si peu ?

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]
Modifié en dernier par DidUngar le 20 juil. 2008, 19:25, modifié 2 fois.

Mammouth du PHP | 558 Messages

20 juil. 2008, 19:01

mon but est de proteger mon site aux maximum vue que j'ai un fichier client dans ma base de donner, adresse, mail, nom, prenom, jutilise paypal comme moyen de paiement ainsi cela me permet de ne pas avoir a stocker d'information du type carte banquaire.
si le hacker revend mon fichier client a mes concurrent ou si c'est un de mes concurrent la j'ai tout faux.
de plus c'est egalement par principe envers la clientele qui me fait confiance et me confie leur donner personnel.
donc je ne laisse rien au hasard.
je vais corriger la faille que tu m'as dit merci de ton aide.

Alf
Eléphanteau du PHP | 24 Messages

20 juil. 2008, 22:19

Si tu veux avoir l'esprit tranquille sur ce point et que tu n'a pas toi même besoin de faire des inclusions à distance avec fopen(), require() ou include(), assure toi que les directives PHP suivantes soient off dans ton php.ini.

Code : Tout sélectionner

;;;;;;;;;;;;;;;;;; ; Fopen wrappers ; ;;;;;;;;;;;;;;;;;; ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. allow_url_fopen = Off ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. allow_url_include = Off
La bonne pratique avant tout, le filtrage de toutes les données clef reçues par ton script.
Pas pro du dev, mais pas débutant non plus, je suis attentif à la qualité de mon code dans la mesure de mes connaissances.