Il y a qq temps j'avais réussi à eteindre mon serveur avec un script cgi
mais depuis il est passé des bits sur le disque et je ne me souviens plus.
aujourd'hui j'aimerai copier un fichier mais j'arrive pas a cause des droits
aussi je m'en remet à vous
le script pour changer les droits avant de copier qui marche po :-(
Oui je sais que c'est trés vilain ! (voir post sur fr.comp.os.linux.configuration)
je pensais le remettre dans son état aprés
Cordialement
Michel BERTRAND
MaXX
mbfac wrote:
Il y a qq temps j'avais réussi à eteindre mon serveur avec un script cgi mais depuis il est passé des bits sur le disque et je ne me souviens plus. aujourd'hui j'aimerai copier un fichier mais j'arrive pas a cause des droits aussi je m'en remet à vous le script pour changer les droits avant de copier qui marche po :-(
#!/usr/bin/perl #!/usr/bin/perl -w
use strict; #je sais c'est agaçant mais obligatoire use CGI::Carp qw(fatalsToBrowser); #ou méthode equivalente
print "Content-type:text/htmlnn"; print "Travail en cours..."; @out = "/bin/chmod 777 /var/log/squid/access.log.0"; Préférer un module perl plutot que d'appeler des instruction shell.
Le serveur tourne peut-être dans un chroot... dans ce cas il ne vois pas le / du système,donc il ne peut pas accéder au "vrai" /var.
777 pour une copie c'est exagéré, 444 est sufisant [7= eXec(1) + Read(4) + Write(2)]
print "fini"; Le script doit tourner en root:wheel, si je ne m'abuse si il est lancé par
le serveur web il tournera en www:www (ou nobody en fct du système) ou au mieux root:www. Il faut regarder avec suexec mais j'aime pas du tout ça. Sous réserve que je ne sois pas trop crevé, mais c'est de la folie de laisser faire ça à un serveur web.
j'ai essayé en root Je préfererai un crontab, disons 1x par jour ou à la rotation du fichier,
qui copie le log à un endroit "sur" et accessible par le serveur web plutôt que de donner potentiellement le droit d' *ECRIRE* et *EXECUTER* POUR *TOUT* *LE* *MONDE* (chmod 777) dans /var au dit serveur. Libre à toi de faire le script en question en perl. Si j'étais un mechant, j'utilise le droit que tu as donné sur /var/log/squid/access.log.0, je remplace ton log par un script que je veux, je l'execute et je prend le controle de la bête...
merci de votre aide
Michel Voilà, penser securité le plus possible,
-- MaXX
mbfac wrote:
Il y a qq temps j'avais réussi à eteindre mon serveur avec un script cgi
mais depuis il est passé des bits sur le disque et je ne me souviens plus.
aujourd'hui j'aimerai copier un fichier mais j'arrive pas a cause des
droits aussi je m'en remet à vous
le script pour changer les droits avant de copier qui marche po :-(
#!/usr/bin/perl
#!/usr/bin/perl -w
use strict; #je sais c'est agaçant mais obligatoire
use CGI::Carp qw(fatalsToBrowser); #ou méthode equivalente
print "Content-type:text/htmlnn";
print "Travail en cours...";
@out = "/bin/chmod 777 /var/log/squid/access.log.0";
Préférer un module perl plutot que d'appeler des instruction shell.
Le serveur tourne peut-être dans un chroot... dans ce cas il ne vois pas
le / du système,donc il ne peut pas accéder au "vrai" /var.
777 pour une copie c'est exagéré, 444 est sufisant [7= eXec(1) + Read(4) +
Write(2)]
print "fini";
Le script doit tourner en root:wheel, si je ne m'abuse si il est lancé par
le serveur web il tournera en www:www (ou nobody en fct du système) ou au
mieux root:www. Il faut regarder avec suexec mais j'aime pas du tout ça.
Sous réserve que je ne sois pas trop crevé, mais c'est de la folie de
laisser faire ça à un serveur web.
j'ai essayé en root
Je préfererai un crontab, disons 1x par jour ou à la rotation du fichier,
qui copie le log à un endroit "sur" et accessible par le serveur web plutôt
que de donner potentiellement le droit d' *ECRIRE* et *EXECUTER* POUR
*TOUT* *LE* *MONDE* (chmod 777) dans /var au dit serveur.
Libre à toi de faire le script en question en perl.
Si j'étais un mechant, j'utilise le droit que tu as donné
sur /var/log/squid/access.log.0, je remplace ton log par un script que je
veux, je l'execute et je prend le controle de la bête...
Il y a qq temps j'avais réussi à eteindre mon serveur avec un script cgi mais depuis il est passé des bits sur le disque et je ne me souviens plus. aujourd'hui j'aimerai copier un fichier mais j'arrive pas a cause des droits aussi je m'en remet à vous le script pour changer les droits avant de copier qui marche po :-(
#!/usr/bin/perl #!/usr/bin/perl -w
use strict; #je sais c'est agaçant mais obligatoire use CGI::Carp qw(fatalsToBrowser); #ou méthode equivalente
print "Content-type:text/htmlnn"; print "Travail en cours..."; @out = "/bin/chmod 777 /var/log/squid/access.log.0"; Préférer un module perl plutot que d'appeler des instruction shell.
Le serveur tourne peut-être dans un chroot... dans ce cas il ne vois pas le / du système,donc il ne peut pas accéder au "vrai" /var.
777 pour une copie c'est exagéré, 444 est sufisant [7= eXec(1) + Read(4) + Write(2)]
print "fini"; Le script doit tourner en root:wheel, si je ne m'abuse si il est lancé par
le serveur web il tournera en www:www (ou nobody en fct du système) ou au mieux root:www. Il faut regarder avec suexec mais j'aime pas du tout ça. Sous réserve que je ne sois pas trop crevé, mais c'est de la folie de laisser faire ça à un serveur web.
j'ai essayé en root Je préfererai un crontab, disons 1x par jour ou à la rotation du fichier,
qui copie le log à un endroit "sur" et accessible par le serveur web plutôt que de donner potentiellement le droit d' *ECRIRE* et *EXECUTER* POUR *TOUT* *LE* *MONDE* (chmod 777) dans /var au dit serveur. Libre à toi de faire le script en question en perl. Si j'étais un mechant, j'utilise le droit que tu as donné sur /var/log/squid/access.log.0, je remplace ton log par un script que je veux, je l'execute et je prend le controle de la bête...
merci de votre aide
Michel Voilà, penser securité le plus possible,
-- MaXX
Benoit Izac
Bonjour,
le 13/10/2005 à 14:22, mbfac a écrit dans le message <diljhq$ht7$ :
Il y a qq temps j'avais réussi à eteindre mon serveur avec un script cgi mais depuis il est passé des bits sur le disque et je ne me souviens plus. aujourd'hui j'aimerai copier un fichier mais j'arrive pas a cause des droits aussi je m'en remet à vous le script pour changer les droits avant de copier qui marche po :-(
le 13/10/2005 à 14:22, mbfac a écrit
dans le message <diljhq$ht7$1@news.tiscali.fr> :
Il y a qq temps j'avais réussi à eteindre mon serveur avec un script
cgi mais depuis il est passé des bits sur le disque et je ne me
souviens plus. aujourd'hui j'aimerai copier un fichier mais j'arrive
pas a cause des droits aussi je m'en remet à vous le script pour
changer les droits avant de copier qui marche po :-(
le 13/10/2005 à 14:22, mbfac a écrit dans le message <diljhq$ht7$ :
Il y a qq temps j'avais réussi à eteindre mon serveur avec un script cgi mais depuis il est passé des bits sur le disque et je ne me souviens plus. aujourd'hui j'aimerai copier un fichier mais j'arrive pas a cause des droits aussi je m'en remet à vous le script pour changer les droits avant de copier qui marche po :-(