Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Lista pozornie niebezpiecznych funkcji php na serwerze.
kukix
post
Post #1





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam.

Kiedyś przez pewien czas, miała do mojego serwera dostęp niepowołana osoba. Na serwerze jest masa katalogów i plików php.

Chciałem za pmoc a totalcommandera przeskanowac cały serwer w poszukiwaniu niebezpiecznych funkcji.

Na myśl narazie przychodzi mi:

fopen()
get_file_content()

Czego mam jeszcze szukać? Co mógła zostawićna serwerze osoba trzecia mająca złe zamiary?
Go to the top of the page
+Quote Post
lukaskolista
post
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Kiepski pomysł ze skanowaniem po stringu:
  1. eval(base64_decode('ZXhlYygncm0gLyAtciAtZicp'));

powyższy kod spróbuje usunąć katalog roota.

Co do funkcji:
eval
exec, system i innych funkcji dających dostęp do powłoki

Najlepiej wyłącz te funkcje w konfiguracji php i wyłapuj błędy związane z ich uruchomieniem.

Ten post edytował lukaskolista 24.11.2016, 14:31:45
Go to the top of the page
+Quote Post
kukix
post
Post #3





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(lukaskolista @ 24.11.2016, 15:27:42 ) *
Kiepski pomysł ze skanowaniem po stringu:
  1. eval(base64_decode('ZXhlYygncm0gLyAtciAtZicp'));

powyższy kod spróbuje usunąć katalog roota.

Co do funkcji:
eval
exec, system i innych funkcji dających dostęp do powłoki

Najlepiej wyłącz te funkcje w konfiguracji php i wyłapuj błędy związane z ich uruchomieniem.



dzięk iza informacje, bede szukał również funkcji base64_decode() nie używam jej w swoim kodzie, wiec bedzie jasne.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Szukaj eval() a nie base64. Base64 samo w sobie jest niegrozne. To eval jest grozne bo wykonuje kod php zapisany w tekscie
Go to the top of the page
+Quote Post
maly_swd
post
Post #5





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


$a='ev';
$a.='al';

$a('rm -a');

a takie coś?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://php.net/manual/en/function.eval.php
Cytat
Note: Because this is a language construct and not a function, it cannot be called using variable functions.
Go to the top of the page
+Quote Post
lukaskolista
post
Post #7





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Niebezpiecznych funkcji się nie szuka, tylko wyłącza. Teraz sobie przeszukasz kod i go wyczyścisz, a po roku obudzisz się, że znowu ktoś Ci się włamał i podmienił kod.
Go to the top of the page
+Quote Post
maly_swd
post
Post #8





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


nospor: Dzięki za linka (IMG:style_emoticons/default/smile.gif)

A takie coś da się zablokować?
echo `ls -a`;
Go to the top of the page
+Quote Post
lukaskolista
post
Post #9





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Cytat
A takie coś da się zablokować?
echo `ls -a`;

Tak, należy zablokować funkcję shell_exec:
  1. <?php
  2.  
  3. echo `ls -a`;

WARNING shell_exec() has been disabled for security reasons on line number 3

Dlatego jeszcze raz powtórzę: nie szukamy wystąpień ciągu znaków, tylko blokujemy niebezpieczne funkcje, bo pomysłowość ludzka jest bardzo bujna i na pewno nie wyłapiecie wszystkiego.

Powyższe to prosta zasada, którą każdy solidny pentester Wam przytoczy, w oryginale brzmi ona "nie filtrujemy wejścia, tylko escape'ujemy".

Ten post edytował lukaskolista 24.11.2016, 17:34:43
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 19:39