Zum Inhalt springen

Sicherheit page_php_content (eval)

Erstellt am 12. September 2005 · 3 Antworten · letzte Antwort am 13. September 2005

Tags: Frage

bnai ·

Hallo zusammen,

ich nutze relativ häufig das Inhaltselement page_php_content, weil es die einfachste mir bekannte Möglichkeit ist, ein PHP-Skript einzufügen.

Leider dürfte die Extension nicht so ganz sicher sein, da die eval()-Methode verwendet wird und es für Benutzer möglich sein könnte, schädlichen Code ausführen zu lassen. Bin da zwar kein Experte, habe aber diesbezüglich letztens einen Artikel gelesen.

Auf meiner Seite habe ich also mehrere Inhaltselemente vom Typ page_php_content, die Formulare beinhalten und somit eine Benutzereingabe ermöglichen.

Meine Fragen:

1) Ist es nun möglich, z.B. über die Eingabe "; exec(...);" böse Sachen auf dem Server anzustellen, oder wird da noch ein Riegel vorgeschoben?

2) Gibt es noch eine andere, bessere Möglichkeit als page_php_content, um ein PHP-Skript einzufügen (ausser für jedes Skript eine Extension schreiben zu müssen...)

DiV

Gruß
bnai

woida ·

Wenn du Magic Quotes aktiviert hast (das kannst du mit phpinfo() überprüfen), Kannst du es nicht einschalten (zb. vom Hoster ausgeschalten), solltest du die Variablen, die an dein Skript übergeben werden, durch addslashes() jagen.
Bekommst du z.b. in einer Variable immer einen Integer übergeben, sorgt intval() dafür, daß da auch wirklich ein Integer und kein bösartiger Code drinsteht.

Wenn du in deinem Skipt noch exec, verwendest, dann wäre es gut, wenn der User nicht das Programm das ausgeführt werden soll selbst übergeben kann (zb. index.php?id=3&programm=rm). Nach Möglichkeit sollte er auch keine Parameter übergeben können.

bnai ·

ok, danke. Das werd ich mir gleich mal durchlesen!

Sonst noch jemand eine Idee page_php_content und somit eval ganz zu umgehen?