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

Re: shell script



Hanno 'Rince' Wagner <wagner@rince.de> (Fr 21 Jan 2022 09:23:40 CET):
> Hi Heiko!
> 
> On Fri, 21 Jan 2022, Heiko Schlittermann wrote:
> 
> > Kommandos in Scripten mit grundlos mit vollem Pfad aufzurufen ist eine
> > furchtbare Unart. Der Script-Autor sollte es dem lokalen Admin
> > überlassen, per PATH zu steuern, wo die Standardkommandos rumliegen.
> 
> Grundlos nicht. Aber ich als Script-Autor weiss welche Tools ich
> aufrufe - mit welchen Parametern. Wenn ich da aber statt einem gnu-tar
> ein sco-tar habe oder ein bsd-tar oder so, sind die Parameter leicht
> anders. genauso bei cp, rm, younameit.

Wenn Du gnu-tar brauchst, rettet Dich der explizite Pfad auch nicht.

> Zusätzlich kann ein Angreifer an eine Stelle die auch via $PATH
> aufgerufen wird ein Programm hinlegen dass genauso heisst - und
> welches dann _statt_ dem eigentlichen Programm aufgerufen wird. 

Dann ist der Angreifer sicher privilegiert. Und dann hat er andere
Möglichkeiten.

Sollten in PATH relative Pfade wie z.B. „.“, dann ist der Aufrufer
selbst schuld. Die Pfad-Variable ist unter seiner Kontrolle.

> Allerdings würde ich auch zu Beginn des Scripts die Programme
> definieren (also RM=/bin/rm); die könnte dann der lokale Admin
> entweder ändern oder durch eigene Übersteuerung korrigieren
> ${RM:=/bin/rm}.

Sicher machbar, wenn es um 1…3 Tools geht, die aufgerufen werden sollen.
Aber IMHO skaliert das schlecht für etwas komplexere Aufgaben.

    Best regards from Dresden/Germany
    Viele Grüße aus Dresden
    Heiko Schlittermann
--
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} -
 gnupg encrypted messages are welcome --------------- key ID: F69376CE -

Attachment: signature.asc
Description: PGP signature


Reply to: