[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: script firewall en setuid root -> insecure dependency



Pour t'aider en perl: perldoc -f system

Tu as ainsi de la doc sur le l'utilisation d'une fonction.


Le Sun, Aug 31, 2003 at 12:33:03AM, Gregoire Cachet a écrit:
> Le sam 30/08/2003 à 12:18, François Boisson a écrit :
> 
> > Bonjour
> > 
> Bonjour,
> 
> > 
> > > $ENV{'PATH'} = '/bin:/usr/bin:/sbin';
> > 
> > puet être le /sbin dans le PATH (je n'y crois pas, cf plutÎt plus bas)
> > 
> 
> je viens de le retirer, il servait a rien de toute les facons, parce que
> j'avais 
> 
> my $iptables = '/sbin/iptables';
> 
> ayant vu sur internet que cela pouvais etre source d'insecure dependency
> ...
> 
> > > 
> > > system($iptables." -t nat -A PREROUTING -i ppp+ -p tcp -d ".$ip."
> > > --dport 4661 -j DNAT --to 192.168.1.1:4661");
> > 
> > Pour exécuter une commande systÚme dans un script suid root, il est
> > préférable de séparer le camooande des arguments, en clair essayes system
> > $iptables, "-t nat -A PREROUTING -i ppp+ -p tcp -d ".$ip. --dport 4661 -j
> > DNAT --to 192.168.1.1:4661"
> > 
> 
> Deja un bon point, je viens de comprendre quelque chose :
> la virgule sert a séparer la commande des arguments, je ne comprenais
> pas pourquoi il y avait une virgule sur les documents sur le net, je
> pensais a la concaténation, mais pourquoi pas un . ?
> j'ai donc séparé la commande de ses arguments a l'aide de la virgule.
> Cependant il a l'air de prendre en compte toute la fin de la chaine
> comme un seul caractere, ce qui ne plait pas a iptables qui m'injurie
> ... 
> Dois-je placer des virgules entre chaque argument ?? c'est un peu lourd
> ... 
> D'autant plus que 
> 
> system($iptables." -P FORWARD DROP");
> 
> fonctionne sans pb avec le . par exemple
> 
> Je pense donc bien qu'il s'agit de la variable $ip qui met le bordel ...
> en plus quand je la remplace par sa valeur a la main, il n'y a pas de pb
> 
> > (tiens Edonkey!)
> 
> gagné ;-)
> 
> > 
> > Ca devrait mieux marcher.
> > Le mieux est de préciser le chemin complet de la commande dans $iptables.
> > 
> > En espérant que ça marche
> > 
> 
> eh non sniff ...
> 
> merci pour ton aide !
> 
> -- 
> Grégoire CACHET
> http://www.audacy.fr
> 
> 
> -- 
> Pensez à lire la FAQ de la liste avant de poser une question :
> http://savannah.nongnu.org/download/debfr-faq/html/
> 
> To UNSUBSCRIBE, email to debian-user-french-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> 
---end quoted text---



Reply to: