Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de securite Include

6 réponses
Avatar
JeanJean
Bonjour,
Je voudrai éviter sur mon serveur mutualisé (apache + php4 + mysql) que mes
clients puisse faire des scripts http://www.toto.com/index.php?include=...

afin d'eviter la fameuse faille d'include... Y a t'il quelque chose a faire
au niveau du php.ini ou du httpd.conf?
Pour info je suis en safe mode = off

Merci pour toutes vos suggestions

A+

SugarKane

6 réponses

Avatar
Cleo
Bonsoir,

Y a plein d'infos sur:
http://www.zataz.com/documentation-faille-include-php-wargan.html

A+
Avatar
CrazyCat
JeanJean wrote:
Bonjour,
Je voudrai éviter sur mon serveur mutualisé (apache + php4 + mysql) que mes
clients puisse faire des scripts http://www.toto.com/index.php?include=...
afin d'eviter la fameuse faille d'include... Y a t'il quelque chose a faire
au niveau du php.ini ou du httpd.conf?


A priori, non.
Tu devrais soit empécher le traitement des variables GET soit empécher
l'utilisation des includes.
Par contre, tu dois pouvoir bloquer l'appel des scripts externes.


--
Tout sur les eggdrops
http://www.c-p-f.org
ML @

Avatar
Michel BONZI

Bonjour,
Je voudrai éviter sur mon serveur mutualisé (apache + php4 + mysql) que mes
clients puisse faire des scripts http://www.toto.com/index.php?include=...

afin d'eviter la fameuse faille d'include... Y a t'il quelque chose a faire
au niveau du php.ini ou du httpd.conf?
Pour info je suis en safe mode = off

Merci pour toutes vos suggestions

A+

SugarKane
Bonjour,

As-tu mis cette chose dans ton code :
include $include;
ou
include $_GET[include];
?
Il vaudrais mieux faire :
if($_GET[include]=='toto')
{
include 'toto.php';
}
elseif($_GET[include]=='tutu')
{
include 'tutu.php';
}etc...
tu eviteras la faille !
Michel BONZI
michel-bonzi at diagram point fr

Avatar
Olivier Miakinen

Je voudrai éviter sur mon serveur mutualisé (apache + php4 + mysql) que mes
clients puisse faire des scripts http://www.toto.com/index.php?include=...

afin d'eviter la fameuse faille d'include... Y a t'il quelque chose a faire
au niveau du php.ini ou du httpd.conf?


Il me semble que tu dois surtout protéger ton serveur, donc vérifier
que tes clients n'ont pas accès à /etc/passwd ou aux comptes des autres
clients, qu'ils ne peuvent pas devenir root, qu'ils ne peuvent pas
passer un appel système mettant la machine en péril, etc.

Après, pour protéger les clients d'eux-mêmes, tu peux les informer des
failles qu'ils pourraient inclure dans leurs scripts, mais tu ne peux
guère faire plus, à mon avis. Toute tentative pour les protéger contre
leur gré ne pourra que générer des frustrations.

Avatar
Lol Zimmerli
Hello,

"JeanJean" écrit/wrote:
Je voudrai éviter sur mon serveur mutualisé (apache + php4 + mysql)
que mes clients puisse faire des scripts
http://www.toto.com/index.php?include=...


open_basedir est ton ami
http://fr.php.net/manual/fr/features.safe-mode.php#ini.open-basedir

--
Lol Zimmerli - http://www.lzi.ch/lol/
Les miroirs feraient bien de réfléchir avant de renvoyer les images.
Jean Cocteau

Avatar
Samuel KABAK
"JeanJean" a écrit dans le message de
news:cjh9fi$p0l$
Bonjour,
Je voudrai éviter sur mon serveur mutualisé (apache + php4 + mysql) que
mes

clients puisse faire des scripts http://www.toto.com/index.php?include=...

afin d'eviter la fameuse faille d'include... Y a t'il quelque chose a
faire

au niveau du php.ini ou du httpd.conf?
Pour info je suis en safe mode = off



Une solution très simple :
imaginons que vous décidez que les pages autorisé à l'inclusion se trouve
dans le répertoire $DOCUMENT_ROOT/myincludes/ que qu'elle s'appelle toutes
AX04879FF-XXXXXXXXXXXXX.inc.php ou XXXXXXXXXXXX est le nom passé en
paramètre GET

http://www.toto.com/index.php?include=XXXXXXXXX

1) vérifier qu'il n'y a pas de slash dans le XXXXXXXXXXX
2) include $DOCUMENT_ROOT/myincludes/AX04879FF-XXXXXXXXXXXXX.inc.php

Même si l'attaquant connaît la chaine AX04879FF il lui sera difficile
d'exploiter la faille, s'il ne la connaît pas, c'est encore mieu.

Samuel KABAK
www.codeas.net