Forum: PC-Programmierung shell_exec php


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von hm (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht 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/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.