Mailinglisten-Archive |
Guido Geyermann wrote: > > 1. der webmaster sagt das php als apache-modul laeuft, aber die skripte > trotzdem > unter uid's ablaufen. > nach eingehendem studium des manuals und kristian's 'webserver verstehen > und tunen' > bin ich davon ausgegangen das cgi_php zwar die performance-schwaechere, > aber > sichere variante ist. > hat der webmaster keine ahnung oder kann man mod_php auch sicher > auslegen (bei > virtual-hosts)? mod_php kennt den sogenannten safe mode. welche einschraenkungen dabei entstehen, ist in http://www.koehntopp.de/php/faq-3.html#ss3.9 genauer aufgelistet. jedoch vertraut man im safe mode darauf, dass php in dieser hinsicht fehlerfrei programmiert ist. und das ist leider nicht wirklich gegeben. kristian hat in letzter zeit zwei bugs gefunden, die eben luecken im safe mode aufreissen, den einen im zusammenhang mit popen() (gefixt in 3.0.14) und einen im zusammenhang mit mail() (fix bekannt und im CVS enthalten, version 3.0.15 steht noch aus). diese bugs liessen (lassen) es zu, den safe mode zu umgehen. mod_php laeuft nicht wirklich unter der UID des script owners sondern hat nur kuenstliche einschraenkungen, die so etwas versuchen nachzubilden. und diese sind nicht unbedingt als "sicher" zu bezeichnen. sicherer ist wirklich die cgi-version von php, am besten im usammenhang mit einer ge-chrooteten verzeichnishierarchie. > 2. 'load data infile' und 'load data local infile' besitzen volle > funktionalitaet, > was bei 'load data infile' file-priv rechte voraussetzt. > apache -und mysql-server laufen beide auf der selben maschine, durch die > file-priv > rechte koennte man dann doch jede datei einlesen an die der mysql-server > rechte besitzt. > stellt dies nicht auch ein risiko dar? in der tat vorstellbar, wobei ich im moment nicht testen kann, was nun passiert, wenn man eine x-beliebige datei einliest, die eben keine SQL-befehle sondern z.b. ein php-script enthalten. mysql wird dieses file nicht "fressen", sondern mit fehlern um sich schmeissen. da mysql jedoch auch die zeile wieder ausspuckt, in der der fehler vorkam, koennte man auf die art wohl wenigstens teilweise andererleuts dateien lesen. gruss, markus
php::bar PHP Wiki - Listenarchive