![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 15.05.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
tak jak w temacie.
Cytat Zdzichu otworzyl plik /etc/passwd. Równie dobrze móglby otworzy kady inny plik na dysku serwera, który ma ,,r" dla wszystkich. Rozwizaniem tego problemu jest funkcja safe_mode. Jest to jedna z najwaniejszych funkcji php zwizanych z bezpieczestwem. Umieszczenie w pliku php.ini zapisu:
safe_mode = On spowoduje, że skrypty dostan dostp tylko do tych plików, których wlaciciel jest identyczny z wlacicielem skryptu. Jeli powyszy index.php naley do Zdzicha, skrypt bdzie mógl otworzy tylko pliki, których wlacicielem jest Zdzichu. To wiadomo ... ale, czy systemy typy Smarty beda dzialac (tworza sobie przeciez wlascilem tmp'owych plików powstalych w wyniku parsowania szablonow jest nobody, a wiadomo, ze wlascicielem "normalnych" scryptow jest przykladowy "Zdzichu". jak to obejsc, lub jak inaczej zabezpieczyc przed [php:1:a883a0bef5]<?php include ("/etc/passwd") ?>[/php:1:a883a0bef5] -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 15.05.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
hmm ... chyba sam sobie klikne "pomogl mi" ;P
Polecam wszystkim http://linux.insurgents.net/pliki/szczelne_php.pdf -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 148 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
eee ja nie rozumiem....
Przeciez apache ma osobnego uzytkownika w systemie - ten uzytkownik ma prawo odczytu tylko tych plikow ktore chce - wiec niby jakim sposobem php potrafi ominac zabezpieczenia systemowe ? skoro dam /etc/passwd prawa dostepu np tylko rootowi to jakim cudem uzytkownik apache moze je owtorzyc ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Cytat eee ja nie rozumiem....
Przeciez apache ma osobnego uzytkownika w systemie - ten uzytkownik ma prawo odczytu tylko tych plikow ktore chce - wiec niby jakim sposobem php potrafi ominac zabezpieczenia systemowe ? skoro dam /etc/passwd prawa dostepu np tylko rootowi to jakim cudem uzytkownik apache moze je owtorzyc ? Yacho, do pliku passwd maja dostep wszyscy uzytkownicy systemu. Wiec user apache tez, kwestia jest taka zeby zapobiec aby klient poprzez apache dostal sie do tego pliku. -------------------- Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota Zarządzaj swoim budżetem domowym |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 148 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wiec bede drazyc temat dalej - da sie jakos zabezpieczyc przed takim includem nei wlaczajac safe mode ?
Uzywam smarty a ono z safe mode nie chce dzialac :/ -------------------- -=Yacho=-
nospor -> trzymaj sie i nie dajcie sie ! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 15.05.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
smarty moga dzialac z safe mode.
cytat z Smarty.class.php [php:1:7506faf8dc]<?php /** * This tells Smarty whether or not to use sub dirs in the cache/ and * templates_c/ directories. sub directories better organized, but * may not work well with php safe mode enabled. * * @var boolean * */ var $use_sub_dirs = false; // domyslnie true ?>[/php:1:7506faf8dc] pozdrawiam -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Z forum na Smrty.php.net ->
[php:1:e97514905e]<?php $this->use_sub_dirs = !ini_get('safe_mode'); ?>[/php:1:e97514905e] -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 17.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
A kto mi powie, jaki jest sens włączania SafeMode bez php w trybie cgi i czegoś w stylu suexec? Skonfigurowałem serwer tak jak w tym artykule i niby wszystko fajnie, ale poziomu php nie można tworzyć nowych plików i katalogów... bo php jako moduł chodzi z userem takim jak apache (w moim przypadku nazywa się on apache) i nie ma sposobu, żeby user apache mieszał w katalogach/ plikach innych ludziów... Ma ktoś rozwiązanie jak bezpiecznie ustawić php dla wielu ludzików? Nie interesuje mnie uruchamianie php jako cgi... ciekawym rozwiązaniem jest open_basedir, ale jest jedno ale - ta dyrektywa nie ogranicza wywołań systemowych typu system("vi etc/passwd") ... wyłączenie tych funkcji niby nie jest złe, ale co, gdy czasami trzeba którejś z nich użyć? przydało by się coś takiego jak safe_mode_exec_dir działające bez włączania safe_mode...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 21:55 |