![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kiepski pomysł ze skanowaniem po stringu:
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 600 Pomógł: 2 Dołączył: 1.09.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kiepski pomysł ze skanowaniem po stringu: 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. |
|
|
![]()
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
|
|
|
![]()
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ś? |
|
|
![]()
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.
|
|
|
![]()
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.
|
|
|
![]()
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`; |
|
|
![]()
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:
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:39 |