Mailinglist Archive: opensuse-de (4587 mails)

< Previous Next >
Re: CGI-Perl und root-account
  • From: Jan Theofel <theofel@xxxxxxx>
  • Date: Mon, 8 Jan 2001 10:11:50 +0000 (UTC)
  • Message-id: <3A59AF86.4D495465@xxxxxxx>

Hallo roland,

Roland Kaeser wrote:
> 
> Was ist der Tained-Mode?

Das du bestimmte Dinge nicht tu darfst, weil sie sicherheitstechnisch
gefaehrlich sein koennten. Nehmen wir mal an du verwendest CGI.pm (wer
tut das nichT? :-), und du machst folgendes:

$name = param("name");
open(DB,"</home/$name/.cgi-profile")||...

Das wuerde verboten, weil der Zugriff auf Dateien - wobei ein Teil des
Namens vom User indirekt festgelegt wird (ohne das er das mitbekommen
muss!)  undsicher ist. Du muss um das zu duerfen zusaetzlich eine RegEx
dazwischen schalten um hier sicherzugehen, dass die Eingabe zulaessig
und sicher ist, z.B.:

$name = param("name");
$name =~ s/[\/\.]/_/g;
open(DB,"</home/$name/.cgi-profile")||...

> Die Aufrufmöglichkeiten von externen Perl-Scripts sind mir dahingehend
> bekannt.
> Nur, wie kann ich ein externes Script unter dem Benutzer root ausführen ohne
> sudo benutzen zu müssen?

Du musst das suid Bit setzen, d.h. das Skript wird mit den Rechten des
Benutzers ausgefuehrt. Siehe 'man chmod', da wird das beschrieben. Ist
allerdings bei Skripten, weil die Programm/Unterskripte die du aufrufst
AFAKI diese Rechte nicht mitbekommen.

Jan

-- 
   ETES - Espenhain & Theofel EDV-Systeme GbR
     Libanonstrasse 58 A * D-70184 Stuttgart
   Phone +49 711 4895550 * Fax +49 711 4809761
    EMail: info@xxxxxxx --- URL: www.etes.de

< Previous Next >