脚本文件异常情况
1.可能伪造框架或cms系统相关的配置文件或类,一句话或上传脚本
2.可能寄生在系统配置中的一句话木马
3.文件上传目录存在php或其他脚本
4.稀奇古怪的命名以及古怪的文件内容
5.和已有文件一样命名的奇怪文件
和类相近名称
远程下载代码
一句话eval
免杀木马:
http://tool.apizl.com/dev/runCode/30340ea792a67c1d0e83e5db59e889fc.html
<?php
echo CHR(101).CHR(118).CHR(97).CHR(108).CHR(40).CHR(34).CHR(36).CHR(95).CHR(80).CHR(79).CHR(83).CHR(84).CHR(91).CHR(100).CHR(105).CHR(97).CHR(111).CHR(115).CHR(105).CHR(93).CHR(59).CHR(34).CHR(41).CHR(59);
被黑解决方式:
1.检查日志请求
优先筛选状态码200 POST请求,过滤后台请求。对非用户可能请求到的地址进行记录,进行代码排查。
可能会存在eval函数或$_GET+CURL+file_put_contents等等这种远程创建脚本的方法。
因为被黑后可能要保证马的存活,所以会定期监控。日志可以很好筛选出来。在解决挂马前一定要做好权限配置。
当然不是所有的马会使用POST进行执行,也有利用远程下载进行执行不利于发现。
2.全站代码文件查找
查找eval、create_function、curl、file_put_contents、chown等等进行代码排查 【重点】
3.目录权限配置
除了框架或cms临时目录和上传目录可写以外,其他目录一律不可写。而且上传目录不能设置可执行权限。也可以使用open_basedir现在php操作,目录之外的东西。
4.PHP环境配置
php.ini禁用函数肯定是需要的
disable_functions phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
有必要也可以对open_basedir进行设置
留下的马可能的规律:
大量CHR+eval
以及ini_set进行设置操作
还有文件中file_put_contents要排查