[linux-l] Datum in Script verwenden
Jan-Benedict Glaw
jbglaw at lug-owl.de
Mo Apr 9 21:22:42 CEST 2007
On Mon, 2007-04-09 20:10:16 +0200, Boris Kirkorowicz <boris-ml07 at kirk.de> wrote:
> Am 09.04.07 18.58 schrieb Volker Grabsch:
> > Das, was nicht funktionierte, war SUID bzw. SGID auf #!-Scripte.
> > Dies funktioniert nur bei "richtigen" Binaries. Schade, eigentlich.
> > Kennt jemand von euch den Grund dafür?
>
> Ahja, da wird mir einiges klar: deshalb hat das die ganze Zeit nicht
> funktioniert...
>
> Der Grund würde mich jetzt aber auch interessieren.
Im thread wurde ja schon gesagt, daß beim Aufruf eines Scriptes das
hier passiert:
(1) exec-Aufruf in den Kernel (-> da wird der vollqualifizierte Pfad
zum Programm übergeben)
(2) Kernel liest die ersten Bytes der Datei und erkennt an '#!....',
daß das Ding via Interpreter aufgerufen werden muß
(3) Der Kernel baut den exec-Aufruf um:
<Pfad zum Interpreter> <Pfad zum Script>
(4) Der Interpreter wird gestartet
(5) Der Interpreter öffnet die Script-Datei, liest sie und
entscheidet, was zu tun ist.
...und jetzt stelle man sich mal vor, da liegt irgendwo ein Script,
daß SetUID-root ist, aber von Nicht-root-Usern blitzschnell
ausgetauscht werden könnte. Dabei geht natürlich das SUID-Bit verloren
(irgendwas ist ja immer...) aber mit etwas Glück findet der Austausch
zwischen (4) und (5) statt. Schon könnte ein User von ihm
bestimmbaren Code mit root-Rechten (bzw. der Original-UID oder -GID
des Scriptes) ausführen.
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de +49-172-7608481
Signature of: Träume nicht von Dein Leben: Lebe Deinen Traum!
the second :
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: Digital signature
URL : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20070409/374b276a/attachment.sig>
Mehr Informationen über die Mailingliste linux-l