wwwrun shell-scripte ausführen mit exec???

Bash, Shell, PHP, Python, Perl, CGI
cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-22 09:52

Hi @all
ich hab folgendes Problem.
Ich habe mit PHP ein File-system-orientiertes Bilderbuch gecodet. Das funzt auch. Nun wollte ich den Usern ermöglichen Bilder hochzuladen.
Das klappt (bei bestehenden Ordnern mit entsprechenden rechten) auch.
Als letzten Schritt wollte ich ermöglichen über eine PHP-Seite Ordner anzulegen. diese gehören dann leider wwwrun und dann darf man da nit rein. chmod klappt nicht wegen fehlenden rechten, mkdir mit parameter 770 geht auch nit. rechte sind immer 0710 :-(

dann hab ich ein shellscript im /home hinterlegt, welches den owner aller unterverzeichnisse meines Bilderbuches entsprechend ändert, und wollte dies mit exec aufrufen.
nach langer suche hab ich rausgefunden, dass der nach dem aufruf ein Passwort haben will :-( (das root-pw natürlich)
das will ich natürlich nur ungern in den source eingeben ;)

wie kann ich das mittels rechten ändern? das script hat rechte 7777+sx

das sollte doch eigendlich klappen, oder?

benötigt wwwrun oder der home-owner nun entsprechend andere rechte? und vorallem welche?
also meine vermutung ist ja das wwwrun nun rechte zum scriptaufruf braucht... aber wie??? yast? :?

mfg
Cybi

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: wwwrun shell-scripte ausführen mit exec???

Post by blnsnoopy26 » 2006-06-22 10:17

Nehme php als CGI in verbindung mit suphp, dann gibt es auch keine Rechteprobleme, weil dann wird alles unter owner des Users ausgeführt.

Wurde alles hier im Forum schon behandelt - einfach mal die SUFU bedienen.

cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

Re: wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-22 10:23

grml... wieso wird einem immer der ansatz umgedreht?
also noch mal kurz und knapp

WELCHE RECHTE BRAUCH DER WWWRUN BENUTZER ZUM AUSFÜHREN VON SHELL-SCRIPTEN mittels EXEC() ??????


@blnsnoopy26
danke trotzdem für die schnelle reaktion und nichts für ungut,
aber ich will nix neues nutzen. ich mag workarounds nicht.
und vorallem will ich nit immer bei kleinen problemen direkt neue sachen installen etc....


mfg
Cybi

User avatar
Joe User
Project Manager
Project Manager
Posts: 11602
Joined: 2003-02-27 01:00
Location: Hamburg

Re: wwwrun shell-scripte ausführen mit exec???

Post by Joe User » 2006-06-22 11:20

Der Vorschlag war kein Workaround, im Gegenteil, die von Dir gewünschte Lösung ist ein Workaround...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

Re: wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-22 11:38

hmm...
gut.. in dem Fall stimmts warscheinlich sogar.
trotzallem will ich grad nix installieren und die problematik scripte auszuführen hab ich so oder so noch an 2 anderen stellen.

also was muss ich tun um das script aufrufen zu können???

MFG
Cybi

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: wwwrun shell-scripte ausführen mit exec???

Post by Roger Wilco » 2006-06-22 12:39

Lass den Apache doch einfach unter der UID 0 laufen. Dann kannst du die Verzeichnisse einfach den gewünschten Benutzern zuweisen. Und die Kiste läuft sicherlich ~1 Stunde bis sie gepwned wird.

Alternativ willst du die Manpage von sudo lesen...

cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

Re: wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-22 12:59

ok, was haltet ihr hier von?

mein eigendliches Problem war (wie ich grad ma rausgefunden hab) der lokale save_mode. der war aktiv, was ein script-ausführen geblogt hat.

einfach den Eintrag in der confixx_vhost.conf rauskopieren, das "On" in "Off" aendern und ans Ende der httpd.conf einfuegen.

Confixx aendert an der httpd.conf nur etwas bei der Installation und der Eintrag, der bzgl. safe_mode zuletzt kommt, ist der, der zaehlt.


und alles funzt so wie ichs haben will....

nu seid ihr dran.
Hab ich nu alle tore offen?

meiner ansicht nach nicht, da benutzerrechte immer noch alle so sind wie vorher.



...........................................................................
was ich mich nur frage... wieso müssen in den Foren immer alle so groß rum kotzen, aber bekommen es nicht mal hin eine alternativ-lösung zu ihrem ersten ansatz zu liefern, oder mal auf die Fragen und wünsche näher einzugehen???

Wie ich grad gezeigt hab gehts doch so.
Die Zeit hätten wir uns alle sparen können, wenn ihr mal was anderes versuchen würdet ausser nur zu motzen und sich lustig zu machen.

es gibt nicht immer nur einen Weg zum Ziel.

und nur weil ihr einen Weg kennt heist es ja noch lang nit, dass alle anderen ansätze nicht zu gebrauchen sind...

denkt mal drüber nach.
...........................................................................


mfg
Cybi

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: wwwrun shell-scripte ausführen mit exec???

Post by blnsnoopy26 » 2006-06-22 13:11

Es geht darum das die meisten hier im Forum alle auf Sicherheit bedacht sind.

Und sowas wie safe mode off oder dergleichen die Prinziepien wiederlegt - denk auch mal drüber nach das du damit es den Angreifern sehr leicht machst deinen Server zu ownen.

Aber ok musst du wissen.

cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

Re: wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-22 13:26

genau desshalb fragte ich ja nach.
wenn mir das egal wäre hätt ich alles einfach als root laufen lassen.

was genau ist denn nun einem Angreifer mehr möglich?

script-dateien ausführen kann man nun per php. aber... ein Angreifer müsste nun doch erst ma das script uploaden, was so erst mal ja nit möglich ist ohne login.

ich geb ja zu, dass ich nicht der Pro bin was linux angeht (was wohl leicht ersichtlich ist) aber bin auch eher Programmierer als Sys-admin.

aber kurz zur config

shell-login erlaub ich nur einem Benutzer auf der Maschiene und der ist kein root. ftp-logins haben alle user die auch www-rechte haben. PWs sind aber mit mindestens groß/klein und mit zahlen.

Bruteforce-versuche werden nach dem schema *3 fehlerhafte Logins von einer IP gedroppt*

meine upload-scripts im php erlauben nur gif,jpg und png.

ich achte also generell schon auf so was. ;)

blnsnoopy26
Posts: 660
Joined: 2002-10-19 14:01

Re: wwwrun shell-scripte ausführen mit exec???

Post by blnsnoopy26 » 2006-06-22 14:07

Was da passieren kann?

Lese dir mal mein Thread durch dann weisst du was passieren kann und das sehr schnell.

Und ich achte wirklich peniebel auf Sicherheit.
Aber dennoch passiert es doch mal sehr schnell.

Und mit deiner Aktion safe_mode off machst du es dem angreifer noch einfacher als ich - denke mal drüber nach.

Die Datei die ich drin hatte war ja noch harmlos, aber hätte mich auch schlimmer treffen können.

cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

Re: wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-22 15:12

ok, versteh zwar worauf du hinaus willst, und das scripts bei apache zugelassen werden ohne userprüfung seh ich ja auch ein dass das nit 100% save ist. aber...
ums mal ganz zu verstehen...

ist es nicht so, dass der apache nur files ausführen kann, die auch auf meiner kiste liegen? und kann man somit nicht nur files ausführen, die ich auch da abgelegt habe?

gut. Bei dir is durch ne install oä was dazu gekommen, wenn ich das beim überfliegen richtig gelesen hab. aber... ohne zugriff auf shell oä seh ich da bisher keine möglichkeit diese sicherheitslücke auszunutzen.

korrigier mich wenn ich da falsch liege.

aber bei shell-zugriff ists doch eh schon zu spät. und solang der nicht zustande kommt, kann der doch nur das ausführen was ich bereit stelle... und das is ja nit viel, bzw so angelegt dass es nix kaputt machen sollte ;)

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: wwwrun shell-scripte ausführen mit exec???

Post by Roger Wilco » 2006-06-22 15:19

Cybi82 wrote:korrigier mich wenn ich da falsch liege.
Du liegst falsch. Wenn die URL-Wrapper für fopen (oder allgemein Dateioperationen) aktiviert sind, kann ein Angreifer bei ungenügender Eingabeprüfung eine beliebige Datei auf einem anderen Server einbinden. Üblicherweise wird das ein PHP-/Perl-/Python-/$SKRIPTSPRACHE-Shellskript, mit dem der Angreifer beliebige Befehle im Kontext des Webservers ausführen kann.

Auch könnte durch einen Bug in einer der Erweiterungen von PHP ein Pufferüberlauf mit anschließender Code-Ausführung erzeugt werden, wie kürzlich wieder bei der GD Library gesehen.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11602
Joined: 2003-02-27 01:00
Location: Hamburg

Re: wwwrun shell-scripte ausführen mit exec???

Post by Joe User » 2006-06-22 15:27

Lies Dich mal durch unser Archiv und das Security, dort sind viele sehr gute Ansätze und auch komplette Lösungen, aber auch viele Beispiele zu gecrackten Servern und den Vorgehensweisen der Cracker zu finden.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

Re: wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-22 15:30

ungenügende Prüfung ok. seh ich ein.

aber... ich lass weder größer noch kleiner Zeichen noch hochkommata oder anführungszeichen zu. wird alles in Sternchen umgewandelt bevor es verarbeitet wird.
Diese Prüfung hab ich auf allen Feldern wo die Feldlänge nicht eh schon auf < 20 begrenzt ist.
dann ist ein script meines erachtens fast schon unmöglich... (wieder nur MEINE ansicht.)

wirfs ruhig wieder übern haufen :P

freu mich übrigens dass wir uns nu mal wirklich konstruktiv unterhalten können!!!
Danke für die Aufopferung deiner Nerven

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: wwwrun shell-scripte ausführen mit exec???

Post by flo » 2006-06-22 18:46

Cybi82 wrote:meine upload-scripts im php erlauben nur gif,jpg und png.
Checkst Du das nach Endung oder läßt Du Dir die Sachen erst auf die Platte ballern? ;-)

Im Ernst:

um exec für irgendetwas zu erlauben, sollte das Program execute-Rechte haben - richtig - die Datei, nicht der User. Um an die Datei heranzukommen, braucht auch das Directory passende Rechte - execute ist hier "öffnen".

Damit Du steuern kannst, wer etwas darf, gibt es den User, die Gruppe und Others, und Du solltest Dich dringend damit beschäftigen.

Außerdem: Warum chownen, wenn Du die Sachen übers web abrufen möchtest?

flo.

cybi82
Posts: 36
Joined: 2005-12-12 12:09
Location: wermelskirchen

Re: wwwrun shell-scripte ausführen mit exec???

Post by cybi82 » 2006-06-23 13:09

endung wird natürlich vor dem upload gecheckt.

hab mich da schon grob mit befasst und das prinzip is mir wohl geläufig. hab nu noch n bissl weiter gebastelt und n weg gefunden, das safe_mod wieder abzuschalten.

Hab mir n neues dir angelegt wo ich nu die scripte reinlege. das dir is in der httpd.conf als safe_mod_dir gekennzeichnet und ist somit von allen checks ausgenommen. weitere scripts werden nun wieder geblockt aber DAS kann ich starten.

chown brauch weil ich da per php-form nach dem mkdir ja auch bilder rein legen muss. Sonst kann ich mir das ja auch schenken