Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> include ("/etc/passwd") - jak temu zapobi
HaRy
post
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]


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
HaRy
post
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


--------------------
Go to the top of the page
+Quote Post
Yacho
post
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 ?
Go to the top of the page
+Quote Post
Sh4dow
post
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
Go to the top of the page
+Quote Post
Yacho
post
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 !
Go to the top of the page
+Quote Post
HaRy
post
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


--------------------
Go to the top of the page
+Quote Post
scanner
post
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]


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
pozmu
post
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...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 21:55