ホームページ  >  記事  >  バックエンド開発  >  PHP Webshel​​l スキャン バックドア トロイの木馬のサンプル プログラム_PHP チュートリアル

PHP Webshel​​l スキャン バックドア トロイの木馬のサンプル プログラム_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:47:451541ブラウズ

この記事では、Web サイト上のトロイの木馬プログラムをスキャンできる PHP Web シェル スキャンのサンプル プログラムを紹介します。これにより、困っている人が Web サイトのトロイの木馬を見つけることができます。

コードは次のとおりです コードをコピー

/***********************
PHPスキャンバックドア
**********************/
エラー報告(E_ERROR);
ini_set('max_execution_time',20000);
ini_set('memory_limit','512M');
header("content-Type: text/html; charset=gb2312");
$matches = 配列(
'/function\_exists\s*\(\s*[\'|\"](popen|exec|proc\_open|system|passthru)+[\'|\"]\s*\)/i',
'/(exec|shell\_exec|system|passthru)+\s*\(\s*\$\_(\w+)\[(.*)\]\s*\)/i',
'/((udp|tcp)\:\/\/(.*)\;)+/i',
'/preg\_replace\s*\((.*)\/e(.*)\,\s*\$\_(.*)\,(.*)\)/i',
'/preg\_replace\s*\((.*)\(base64\_decode\(\$/i',
) '/(eval|assert|include|require|include\_once|require\_once)+\s*\(\s*(base64\_decode|str\_rot13|gz(\w+)|file\_(\w+) \_contents|(.*)php\:\/\/input)+/i',
'/(eval|assert|include|require|include\_once|require\_once|array\_map|array\_walk)+\s*\(\s*\$\_(GET|POST|REQUEST|COOKIE|SERVER |SESSION)+\[(.*)\]\s*\)/i',
'/eval\s*\(\s*\(\s*\$\$(\w+)/i',
'/(include|require|include\_once|require\_once)+\s*\(\s*[\'|\"](\w+)\.(jpg|gif|ico|bmp|png|txt| zip|rar|htm|css|js)+[\'|\"]\s*\)/i',
'/\$\_(\w+)(.*)(eval|assert|include|require|include\_once|require\_once)+\s*\(\s*\$(\w+)\s*\ )/私、
'/\(\s*\$\_FILES\[(.*)\]\[(.*)\]\s*\,\s*\$\_(GET|POST|REQUEST|FILES)+\ [(.*)\]\[(.*)\]\s*\)/i',
'/(fopen|fwrite|fputs|file\_put\_contents)+\s*\((.*)\$\_(GET|POST|REQUEST|COOKIE|SERVER)+\[(.*)\]( .*)\)/い'、
'/echo\s*curl\_exec\s*\(\s*\$(\w+)\s*\)/i',
'/new com\s*\(\s*[\'|\"]shell(.*)[\'|\"]\s*\)/i',
'/\$(.*)\s*\((.*)\/e(.*)\,\s*\$\_(.*)\,(.*)\)/i',
'/\$\_\=(.*)\$\_/i',
'/\$\_(GET|POST|REQUEST|COOKIE|SERVER)+\[(.*)\]\(\s*\$(.*)\)/i',
'/\$(\w+)\s*\(\s*\$\_(GET|POST|REQUEST|COOKIE|SERVER)+\[(.*)\]\s*\)/i',
'/\$(\w+)\(\$\{(.*)\}/i'
);
関数アンチウイルス($dir,$exs,$matches) {
if(($handle = @opendir($dir)) == NULL) return false;
while(false !== ($name = readdir($handle))) {
If($name == '.' || $name == '..') 続行;
$path = $dir.$name;
If(is_dir($path)) {
If(is_readable($path)) アンチウイルス($path.'/',$exs,$matches);
} elseif(strpos($name,';') > -1 || strpos($name,'%00') > -1 || strpos($name,'/') > -1) {
echo '

機能 '.$path.'

'; ob_flush(); ;
} その他 {
If(!preg_match($exs,$name)) 続行;
If(ファイルサイズ($path) > 10000000) 続行;
$fp = fopen($path,'r');
$code = fread($fp,filesize($path));
fclose($fp);
If(empty($code)) 続行;
foreach($matches as $matche) {
$array = array();
preg_match($matche,$code,$array);
if(!$array) continue;
If(strpos($array[0],"\x24\x74\x68\x69\x73\x2d\x3e")) 続行;
$len = strlen($array[0]);
        if($len > 10 && $len           echo '

機能 '.$path.'

';
          流す(); ob_flush();休憩;
        }
      }
      unset($code,$array);
    }
  }
  Closedir($handle);
  true を返します;
}
function strdir($str) { return str_replace(array('\\','//','//'),array('/','/','/'),chop($str)); }
echo '
';
echo '

路径:

';
echo '

後缀:

';
echo '

操作:

';
echo '
';
if(file_exists($_POST['dir']) && $_POST['exs']) {
  $dir = strdir($_POST['dir'].'/');
  $exs = '/('.str_replace('.','\\.',$_POST['exs']).')/i';
  エコーアンチウイルス($dir,$exs,$matches)? '

扫描完毕

' : '

扫描中断

';
}
?>

www.bkjia.com本当http://www.bkjia.com/PHPjc/632838.html技術記事本文来给大家介绍一php webshel​​l扫描後门木马实例程序,此可描你网站上的木马程序哦,此大家找网站木马提供很大方便...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。