Skocz do zawartości
Zaloguj się, aby obserwować  
szakamafa

mod_security - blokada php shell

Polecane posty

Witam,

 

Macie jakieś gotowe, dobre reguły do serwera z cPanelem do blokowania shelli przez php takich jak:

 

c99

r57

 

Dodam, że disable_functions = system, exec, shell_exec, passthru, error_log, ini_alter, dl, pfsockopen, openlog, syslog, readlink, symlink, link, leak, popen, escapeshellcmd, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, escapeshellarg, pcntl_exec, allow_url_include

 

To nie pomaga..

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wyłącz manipulowanie ścieżkami a nikt Ci nie przeglądnie z poziomu skryptu żadnego katalogu ;) W necie jest mnóstwo tego typu rzeczy :)

 

 

 

Pozdr.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

readdir, opendir, dir, posix_getpwuid, posix_getgrgid, disk_free_space, disk_total_space, diskfreespace, disktotalspace

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

webh.pl wiesz nie byłem nigdy nawet na tescie u ciebie ale powiem ze wiekszośc firm hostingowych w Polsce nie ma takich zabezpieczeń:

 

shell działa na :

neteasy

firehost

nazwa

netstrefa

cal

insane

szybki-serwer

boo

progreso(dawno nie wiem jak teraz)

yoyo(wiem ze darmowy ale popularny wśród gimbusów)

 

 

nie działa

home

 

więc większość to olewa chyba

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Moze ja sie nie znam - zainstalowalem sobie ta zabawke (r57) - toz to prosty glupi skrypt w phpie. Bez problemu mozna to przyblokowac zeby nie moglo to wyjsc poza okreslony katalog.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ta, na cal działa, zhaczyli kiedyś dosyć dużego sajta a admini na to nic, jest jak było ;] mowa o c99.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
mowa o c99.

Fragment c99:

function ex($cfe)
{
$res = '';
if (!empty($cfe))
{
 if(function_exists('exec'))
  {
@exec($cfe,$res);
$res = join("\n",$res);
  }
 elseif(function_exists('shell_exec'))
  {
$res = @shell_exec($cfe);
  }
 elseif(function_exists('system'))
  {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
  }
 elseif(function_exists('passthru'))
  {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
  }
 elseif(@is_resource($f = @popen($cfe,"r")))
 {
  $res = "";
  while(!@feof($f)) { $res .= @fread($f,1024); }
  @pclose($f);
 }
}
return $res;
}

;)

 

Generalnie te skrypty to zwykla prosta graficzna nakladka na kilka funkcji phpa - dla ludzi, ktorzy nie znaja dobrze phpa a chca sie w chakierow pobawic.

 

Jezeli na serwerze pozwalamy uzyszkodnikom czytac inne pliki, to bedzie to dostepne i z poziomu tych skrypcikow i z poziomu zwyklego phpa, jezeli nie pozwalamy, to nie bedzie to dzialalo w obydwu przypadkach. Sama mozliwosc odpalenia tych skryptow nie jest niczym zlym. r57 opiera sie na readfile, curlu i wykonywalnych komendach, c99 wkleilem wyzej. Obydwa potrafia sie bindowac - to co w phpie juz wprowadzono wiele lat temu. Generalnie - zupelnie nie ma sie czym podniecac :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wszyscy wiemy, ze shelle sa zle - moga narobic duzo zlego. W wiekszosci przypadkow ich uzycia, utraty baz danych sa po prosty ustawienia chmod do plikow i katalogow usera. Niekotrzy, nie wiem dlaczego ale ustawiaja chmod 777 dla public_html domeny - to straszne. Ostatnio wlaczylismy poprawki w zabezpieczeniach:

 

- php nie dziala w katalogach o chmod 777

- php nie dziala w plikach o chmod 777

 

Jak sie ustrzeglismy przed shell code? Po prostu, jako ze dajemy userowi dostep do php.ini ustawienia open base.dir i disable_functions jest nie mozliwy - w kazdej chwili user moglby to zmienic. Stad ustawilismy php.ini jako root:root - user moze wgrac php.ini tylko przez directadmina, automatycznie mu sie zapisze base_dir do php.ini i problemow nie ma - przynajmniej narazie nie stwierdzono.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×