Forum: PC-Programmierung shell_exec php


von hm (Gast)


Lesenswert?

Hallo,
ich schaffe es nicht per shell_exec ein Konsolenprogramm zum Senden 
einer Email zu starten.

Meine Befehle:
1)
shell_exec("echo sfsf | /usr/bin/sudo mpack -s 'ja' -d ../anhang.txt 
andy.bb@web.de");

2)
shell_exec("mpack -s 'ja' -d ../anhang.txt  andy.bb@web.de");

Weiß jemand von Euch, an was es liegt, dass ich das Programm nicht 
starten kann?

von yesitsme (Gast)


Lesenswert?

http://php.net/manual/de/function.shell-exec.php

Welche Rückgabe erzeugt shell_exec() bei dir?
Ist Safe Mode aktiv?

von hm (Gast)


Lesenswert?

Hi,
ich weiß nicht an was es gelegen hatte, jedenfalls starte ich jetzt per 
shell_exec ein bash skript...vom bash skript dann natürlich das Email 
Programm.

Hatte einfach ausgereicht dem bash skript ausführbare rechte zu geben.

Hatte eben wieder zu kompliziert gedacht.
Ich hatte gedacht, dass es an Nutzer/Gruppe oder Rechten gelegen hatte.

von 50c (Gast)


Lesenswert?

hm schrieb:
> Hatte einfach ausgereicht dem bash skript ausführbare rechte zu geben.
>
> ...
> Ich hatte gedacht, dass es an Nutzer/Gruppe oder Rechten gelegen hatte.

...man finde den Widerspruch in den beiden Sätzen

von T.roll (Gast)


Lesenswert?

Die magische Miesmuschel sagt, dass das Arbeitsverzeichnis zwischen PHP 
direkt und Bash unterschiedlich ist. Deswegen wird ../anhang.txt 
Probleme machen.

von Mario M. (thelonging)


Lesenswert?

Sudo von PHP aus aufzurufen ist eine ganz dicke Knarre, die auf Dein 
Knie zielt. Nicht ohne Grund laufen Webserver und PHP mit reduzierten 
Rechten.

von Gerd E. (robberknight)


Lesenswert?

Ich gebe Mario recht.

Dazu noch:

hm schrieb:
> andy.bb@web.de");

wo kommt diese Emailadresse her? Ist die einmal von Dir im Sourcecode 
von dem PHP festgelegt oder kann die irgendwie von einem Nutzer der 
Webseite, über ein Webformular oder über eine Datenbank verändert 
werden?

Wenn nicht im Source festgelegt, dann besteht hier große Gefahr daß 
jemand dort statt einer normalen Email ein ; und danach dann weitere, 
vom Angreifer gewählte Shellbefehle eingibt. Es gibt außer dem puren ; 
noch ein paar mehr Möglichkeiten das zu bewerkstelligen.

von abcde (Gast)


Lesenswert?

hm schrieb:
> shell_exec("echo sfsf | /usr/bin/sudo mpack -s 'ja' -d ../anhang.txt
> andy.bb@web.de");

Oh meine Güte. Bitte bitte lass Programmieren sein und beschäftige dich 
erstmal mit den Grundlagen!

Früher hat man wenigstens noch einen gescheiten Exploit gebraucht...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Gerd E. schrieb:
> dann besteht hier große Gefahr daß jemand dort statt einer normalen
> Email ein ; und danach dann weitere, vom Angreifer gewählte Shellbefehle
> eingibt.

https://xkcd.com/327/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.