Маскировка eval в php

14.11.2016

При заражении сайта вирусом, часто не так просто найти все вредоносные файлы. Одна из причин, что код выполняется через eval, а он, в свою очередь, тоже замаскирован.

Мне встречались несколько вариантов, все они работали только на php 5.2 - 5.6

Посимвольный "сбор" слова:

 
<?
  error_reporting(E_ALL);
  ini_set('display_errors', 'On');

  $sCommand = '$z=3;echo "ok";';

  eval($sCommand);
  echo '<br />';


  $sText = 's1y2s3t4e5m6';
  $sTmp = $sText{0}.$sText{2}.$sText{4}.$sText{6}.$sText{8}.$sText{10};

  $sTmp($sCommand);
  
  echo $z.'<br />';

Вариант с create_function:

 
$A3 = 'esyuhdolrtmp4gjba6w;cqfivzkn_x';
$kz = $A3{1} . $A3{9} . $A3{8} . $A3{28} . $A3{8} . $A3{0} . $A3{11} . $A3{7} . $A3{16} . $A3{20} . $A3{0};
$RYm = $A3{15} . $A3{16} . $A3{1} . $A3{0} . $A3{17} . $A3{12} . $A3{28} . $A3{5} . $A3{0} . $A3{20} . $A3{6} . $A3{5} . $A3{0};
$JKQ = $A3{20} . $A3{8} . $A3{0} . $A3{16} . $A3{9} . $A3{0} . $A3{28} . $A3{22} . $A3{3} . $A3{27} . $A3{20} . $A3{9} . $A3{23} . $A3{6} . $A3{27};
//$vKI = $JKQ("")

echo $kz.'<br />';
echo $RYm.'<br />';
echo $JKQ.'<br />';

echo $RYm("123");

$r = 'system';
echo $r($sCommand);


Яндекс.Метрика