Ticket #416 (new defect)

Opened 3 years ago

Last modified 10 months ago

probleme de droit qd upload via PHP

Reported by: woper Assigned to: anonymous
Priority: normal Milestone: alternc-1.0
Component: PHP Version: alternc-0.9.3
Severity: minor Keywords:
Cc:

Description (Last modified by anarcat)

lors de l'upload d'un doc via un formulaire php comme celui-ci:

<form name="form2" enctype="multipart/form-data" action="" method="post"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="900000">
send file:<input name="userfile" type="file">
 save as:<input name="serverfile" type="text">
<input type="submit" value="send">
</form>
<?
if(isset($userfile)){
if(is_uploaded_file($userfile)){move_uploaded_file($userfile, $serverfile);}
}
?>

le fichier est créé sur le serveur en n'appartenant pas à l'utilisateur, donc n'est pas pris en compte dans les quotas. Si un fait un chgrp idMembre fichier c'est bon, mais il serait plus simple que celà soit pris en charge par Php.

ADDITIONAL INFORMATION: normalement le fichier devrait avoir les permissions suivantes:

-rw-r--r-- www-data idMembre leFichier

mais en passant par ce formulaire il est:

-rw------- www-data www-data leFichier

Change History

04/15/05 14:16:14 changed by arnaud_lb

Quelles sont les permissions du dossier ou le fichier a été copié ?

04/15/05 18:13:20 changed by woper

Les permissions du répertoire où le fichier a été créé sont:

drwxrws--- www-data 2001 . (==/var/alternc/html/t/test) drwxr-xr-x www-data www-data .. (==/var/alternc/html/t) -rw-r--r-- www-data 2001 monFormulaireDenvoi.php -rw------- www-data www-data monFichierParFormulaire

De plus ne serait-il pas judicieux de mettre un /bin/false comme shell à l'utilisateur apache www-data, pour interdire l'execution de code malveillant?

04/15/05 18:33:30 changed by arnaud_lb

Je n'arrive pas à reproduire le problème avec ces permissions de répertoire. Avec le dossier /var/alternc/html/t/test à drwxrws--- et ton script, ça donne ça:

drwxrws--- www-data 2001 . -rw-r--r-- www-data 2001 uploaded -rw-r--r-- www-data 2001 testupload.php

Par contre, sans le Setgid sur /var/alternc/html/t/test, j'ai le même bug, mais c'est normal.

04/16/05 06:21:11 changed by woper

Alors là je comprend pas, je suis sur une woody avec les paquets suivants: ii alternc 0.9.3.20050404 hosting software managment suite for Debian ii alternc-admint 0.1.0-3 Admin tools for AlternC ii apache 1.3.26-0woody6 Versatile, high-performance HTTP server ii apache-common 1.3.26-0woody6 Support files for all Apache webservers ii apache-ssl 1.3.26.1+1.48- Versatile, high-performance HTTP server with ii libapache-mod- 1.3.19.1a-5 HTTP compression module for Apache ii php4 4.1.2-7.0.1 A server-side, HTML-embedded scripting langu ii php4-cgi 4.1.2-7.0.1 A server-side, HTML-embedded scripting langu ii php4-mysql 4.1.2-7.0.1 MySQL module for php4 ii phpmyadmin 2.2.3-1 A set of PHP-scripts to administrate MySQL o

aucun fichier (httpd.conf, php.ini) n'ont été modifié. Avez-vous une idée?

05/02/05 19:11:56 changed by anarcat

problème bizarre... il est possible que les nouveaux scripts d'install ne metter pas le setgid... à vérifier.

02/24/06 07:33:55 changed by anarcat

  • type set to defect.
  • description changed.
  • milestone changed from 0.9.3 to 1.0.

05/16/06 20:20:49 changed by benjamin

Ce probleme est connu, et en effet, si l'utilisateur upload beaucoup d'informations, ces fichiers uploadés n'ont pas pour GID son gid alternc ...

Pour ma part, j'utilise un script shell qui remet les gid et les droits ad-hoc comme dans :

source:alternc/trunk/src/fixperms.sh

11/19/07 22:38:59 changed by anarcat

  • description changed.