user1 0 Zgłoś post Napisano Styczeń 28, 2007 (edytowany) Jak się zabezpieczyć przed następującym kodem: <?php readfile("/etc/group"); ?> w php.ini blokowałem funkcję readfile lecz nie pomogło --------------------------------------------------------------------------- Odświerzam temat, tym razem jest coś "ciekawszego" <?php readdir("/etc"); ?> funkcja wymagana w wielu skryptach jednak potrafi również odczytać /etc Edytowano Luty 1, 2007 przez user1 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
beliq 442 Zgłoś post Napisano Styczeń 28, 2007 zainteresuj się funkcją open basedir Udostępnij ten post Link to postu Udostępnij na innych stronach
riklaunim 0 Zgłoś post Napisano Styczeń 28, 2007 możesz też dodatkowo pobawić się uprawnieniami tak by user, pod którym działa serwer nie miał praw dostępu do ważnych plików Udostępnij ten post Link to postu Udostępnij na innych stronach
user1 0 Zgłoś post Napisano Styczeń 28, 2007 zbyt biegły w tym nie jestem mógłbym poprosić o konkretniejsze odnośniki do danych plików na serwie ok open_basedir pomogło jednak poproszę coś więcej od riklaunim-a Udostępnij ten post Link to postu Udostępnij na innych stronach
beliq 442 Zgłoś post Napisano Styczeń 28, 2007 setfacl ( http://www.linux-magazine.pl/issue/01/KnowHow_Acl.pdf ) chmod ( man chmod z konsoli ) Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Styczeń 28, 2007 w php.ini blokowałem funkcję readfile lecz nie pomogło disable_functions = readfile, shell_exec, exec; i możesz coś tam jeszcze dodać wedle uznania. A najlepiej, jeśli nie jesteś obeznany w kwestiach bezpieczeństwa, włącz safe_mode i będziesz miał spokój. Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Styczeń 28, 2007 disable_functions = readfile, shell_exec, exec; Tylko jaki jest sens wylaczania reafile skoro zostaje: fopen, fread, fgets, file, file_get_contents i masa innych PHP'owych wynalazkow do odczytywania pliku? Udostępnij ten post Link to postu Udostępnij na innych stronach
patryk 451 Zgłoś post Napisano Styczeń 28, 2007 Pytanie było o zapobieganie użycia readfile więc też do niego się ustosunkowałem . Udostępnij ten post Link to postu Udostępnij na innych stronach
Noone 19 Zgłoś post Napisano Styczeń 28, 2007 Są jeszcze wynalazki w stylu http://www.hardened-php.net/suhosin.127.html POlecam zapoznać się z całym adresem. Udostępnij ten post Link to postu Udostępnij na innych stronach
hyhyhy 0 Zgłoś post Napisano Styczeń 29, 2007 Ja zawsze wrzucam do disabled_functions coś takiego: php_uname, putenv, getmyuid, passthru, leak, listen, diskfreespace, tmpfile, link, ignore_user_abord, shell_exec, popen, dl, set_time_limit, exec, system, highlight_file, source, show_source, fpaththru, virtual, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_times, posix_ttyname, posix_uname, proc_open, proc_close, proc_get_status, proc_nice, proc_terminate ;-) Pozdr. Udostępnij ten post Link to postu Udostępnij na innych stronach
ramze5 0 Zgłoś post Napisano Styczeń 29, 2007 Czy ktos z Was uzywa Suhosin? Dosc ciekawy projekt, widze ze daje duzo mozliwosci zabezpieczenia wyknywania php. Mam jednak obawy, czy nie spowoduje to niepoprawnego dzialania niektorych aplikacji - phpbb, gallery2, joomli etc. Czy mial ktos moze z tym doczynienia i wie cos wiecej na ten temat? Dzieki Udostępnij ten post Link to postu Udostępnij na innych stronach
riklaunim 0 Zgłoś post Napisano Styczeń 29, 2007 ja na localhoście wrzuciłem moduł i problemów nie ma (punbb i php-fusion sprawdzane). Suhosin chroni przed lukami bardziej "systemowymi" niż lukami samego skryptu dotyczących tego skryptu Udostępnij ten post Link to postu Udostępnij na innych stronach
user1 0 Zgłoś post Napisano Luty 2, 2007 Odświerzam temat, tym razem jest coś "ciekawszego" <?php readdir("/etc"); ?> funkcja wymagana w wielu skryptach jednak potrafi również odczytać /etc Udostępnij ten post Link to postu Udostępnij na innych stronach
hyhyhy 0 Zgłoś post Napisano Luty 2, 2007 open_basedir i po wszystkim. Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Luty 2, 2007 chmod 754 /etc A tak na powaznie, to: man 2 chroot man 8 chroot Udostępnij ten post Link to postu Udostępnij na innych stronach
user1 0 Zgłoś post Napisano Luty 2, 2007 hmm precyzyjniej ? open_base dir jako funkcja php jest zablokowana natomiast jako dyrektywa w konfigu apacha wygląda po prostu: ";open_basedir = " zmieniałem wartość na On / Off a readdir nadal mógł odczytywać foldery systemowe. Gdzieś się pogubiłem Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Luty 2, 2007 A zagladales do manuala czy Ci sie po prostu nie chcialo? Udostępnij ten post Link to postu Udostępnij na innych stronach
user1 0 Zgłoś post Napisano Luty 2, 2007 powiedzmy że niewiedział bym czego szukać, na czym się skupić Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Luty 2, 2007 Moze na open_basedir? Udostępnij ten post Link to postu Udostępnij na innych stronach
user1 0 Zgłoś post Napisano Luty 2, 2007 no to może coś znajdę ale również prosił bym o precyzyjnego help'a Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Luty 2, 2007 Naprawde nie powinienem, bo to juz szczyt lenistwa, ale masz tu pierwszy(!) link z google: klik Udostępnij ten post Link to postu Udostępnij na innych stronach
user1 0 Zgłoś post Napisano Luty 2, 2007 no właśnie siedzę nad nim od kilkudziesięciu sekund ok postaram się czegoś doczytać Udostępnij ten post Link to postu Udostępnij na innych stronach
user1 0 Zgłoś post Napisano Luty 2, 2007 z readdir(); jakoś sobie poradziłem. Ale z open_basedir niestety nie tym razem funkcja is_dir(); teoretycznie jeśli dobrze zrozumiałem konfigu apacha mogę umieścić coś takiego: open_basedir = /home/user1 ale wtedy dla każdego innego użytkownika (np /home/user2) będzie to również tak rozumiane że nie może wyjść poza /home/user1 pewnie prosty błąd popełniłem ale jaki ? idę dalej przeszukiwać googla Udostępnij ten post Link to postu Udostępnij na innych stronach
Noone 19 Zgłoś post Napisano Luty 2, 2007 Doczytaj dokładnie o zasięgu tego. /home/user a /home/user/ Udostępnij ten post Link to postu Udostępnij na innych stronach
hyhyhy 0 Zgłoś post Napisano Luty 2, 2007 Coś ala php_admin_value open_basedir /home/user/:/tmp:/usr/local/lib/php/ Poza tym poradź sobie sam, bo szkoda słów. Pozdr. Udostępnij ten post Link to postu Udostępnij na innych stronach