Problem: PHP + PERL + /bin/bash

Dieses Thema im Forum "Programmieren allgemein" wurde erstellt von heurika, 11.09.2006.

  1. #1 heurika, 11.09.2006
    heurika

    heurika Grünschnabel

    Dabei seit:
    11.09.2006
    Beiträge:
    3
    Zustimmungen:
    0
    Hallo,
    ich bin dabei ein kleinen Adminpanel zu schreiben.
    Der Pannel ist mit PHP programmiert und hat genügend Rechte um über system();
    ein Perl Script im Ordner /home/programme aufzurufen.

    Hier mal das Beispiel:
    /srv/www/htdocs/confixx/html/admin.php ruft über system(); > /home/programme/admin.pl auf.
    Dieses wiederrum führt ein paar Perl Befehle aus und zusätzlich ruft es auch über System(); einen Kopier Befehl auf:
    cp -R /ordnera /ordnerb

    Das Problem jetzt, wenn ich nur das Perl Script aufrufe dann kopiert er den Ordner.

    Wenn ich das PHP Script aufrufe führt er das Perlscript aus und gibt auch die Meldungen aus, aber es kopiert nicht den Ordner, warum?

    Darf man ineinander nicht system aufrufen?
    Oder muss ich beim 2. System Aufruf was beachten?
    zzt rufe ich das Perl Script so auf:

    >>>>>>>>>>>>>
    sub vorgang {
    system("
    #!/bin/bash
    cp -R /ordnera /ordnerb
    ");
    }
    vorgang();
    <<<<<<<<<<<<<

    Danke!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. caba

    caba GESPERRT!

    Dabei seit:
    13.08.2002
    Beiträge:
    351
    Zustimmungen:
    0
    Wenn das kein murgs ist was du da machst weiss ich auch nicht.

    exec() und system() sind generell schonmal böse[tm]
    und will man nicht benutzen.

    Wenn es unbedingt sowas sein muss nutze die Filesystem funktionen von PHP. Wobei du dann darauf achten musst das das script mit rechten des Webservers ausgeführt wird.

    Ansonsten nutze cgi um Shell/Perl/* -Scripts aufzurufen.
     
  4. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Jo, das ist definitiv Murks, was da entsteht. However, nicht mein Rechner, dem da gerade Sicherheitsluecken implementiert werden. Gehe ich recht in der Annahme, dass das PHP-Skript ueber einen Webserver aufgerufen wird? Wenn ja, solltest du dafuer sorgen, dass der Webserver-User (und somit der User, der das PHP-Skript ausfuehrt) auch ausreichende Rechte auf Quellordner (mindestens Leserechte) und Zielordner (hier braucht er Schreibrechte) hat.
    Ausserdem kannst du "#!/bin/bash" in einem system()-Aufruf gleich mal vergessen. system() selbst interpretiert keine Shellskript-Anweisungen. Ein einfaches system("cp -R /ordnera /ordnerb") sollte es auch tun.
     
  5. #4 heurika, 11.09.2006
    Zuletzt bearbeitet: 11.09.2006
    heurika

    heurika Grünschnabel

    Dabei seit:
    11.09.2006
    Beiträge:
    3
    Zustimmungen:
    0
    hab gemerkt das es auch vollkommender sicheitsgefährdender schwachsinn ist :oldman.
    Ich habe eine andere Methode überlegt,
    PHP Script schreibt es in die MySQL DB.
    Ein Cron unter root läuft durch der die "Aufträge" die in der Datenbank stehen bewältigt. Somit kann auch kein user eine Injection machen ;)

    greetz
     
  6. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Macht man halt ne SQL-Injection und beim naechsten Durchlauf des Cron wird der Kram ausgefuehrt, sofern dein Cron das nicht alles nochmal explizit durchcheckt. However, unsicher wird es bei deinen unzureichenden Scripting-Kenntnissen (sorry, aber den Eindruck macht das nunmal hier) wahrscheinlich trotzdem. Vielleicht erstmal mit was einfachem ueben, bevor du dich an ein Tool setzt, dass zum Steuern eines Rechners eingesetzt werden soll (wenn ich das "Adminpanel" so richtig verstanden habe).
     
  7. #6 heurika, 11.09.2006
    Zuletzt bearbeitet: 11.09.2006
    heurika

    heurika Grünschnabel

    Dabei seit:
    11.09.2006
    Beiträge:
    3
    Zustimmungen:
    0
    SQL-Injection wird schwer zu machen Sein.
    Beim anlegen des Eintrages wird die Syntax gecheckt Diese darf nur so sein:
    3x kleinbuchstaben + bis zu 10 zahlen, restliche wird als falsch deklariert.
    wobei diese syntax zuvor schon von der Datenbank ausgelesen wird und somit nicht per GET oder POST manipulierbar ist. Der User selbst kann nur eine Zahl definieren die als Auswahl von radiobuttons zu sehen sind.
    ( ) Auswahl 1
    ( ) Auswahl 2
    ( ) Auswahl 3
    ......
    diese Variable wird auch per Post ausgelesen und per is_numeric gecheckt ob es eine Zahl ist. Wobei die Zeile der Auswahl in der DAtenbank eh als INT(3) definiert ist. Daher würde ich mich wundern wie der User eine Injection zu stande bekommt. Beim Eintrag von USER[varchar] & AKTION[int]. Um die User Variable zu manipulieren muss der Angreifer erstmal Confixx überlisten da die Variable über Confixx übergeben wird.

    Jo bezüglich des Scriptes, es Funktioniert so wie bei #4 beschrieben ;)
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Problem: PHP + PERL + /bin/bash

Die Seite wird geladen...

Problem: PHP + PERL + /bin/bash - Ähnliche Themen

  1. Zeichensatzprobleme - Perlskript mit cygwin unter Windows

    Zeichensatzprobleme - Perlskript mit cygwin unter Windows: Hallo, ich arbeite mit cygwin unter Windows XP und führe damit ein Perlskript aus. Das Skript liest Werte (Strings) aus einer Textdatei und...
  2. [Perl] Namespace Probleme

    [Perl] Namespace Probleme: Hallo zusammen, irgendwie scheitere ich gerade daran, meine sehr lange Hauptdatei in viele Module (*.pm) mit einem Steuerprogramm (.pl) zu...
  3. Perl: Problem mit "-d" Operator auf FAT

    Perl: Problem mit "-d" Operator auf FAT: Hallo! Ich bin grad etwas sehr verdutzt und verstehs auch ned ganz. Bin grade dabei ein Perl Skript zu schreiben, welches mir von einem...
  4. Apache2 probleme mit PHP und Perl!!!!

    Apache2 probleme mit PHP und Perl!!!!: Erstmal Hallo Zusammen gruß an alle!!!! Habe folgendes Problem und zwar, sobald ich im Browser (sei es Firefox, oder Opera usw.) die adresse:...
  5. Perl Problem

    Perl Problem: Hi Leute, ich möchte in Perl eine Datei neu anlegen und in diese schreiben z.B. ein Adressbuch. Doch leider gibt es schon probleme beim anlegen...