Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux系统 > » 正文

Linux服务器php木马排查及加固

来源: 未知 分享至:

最近网站频繁被挂马,今天做了一些改进,基本上把这个问题解决了,因为discuz x2存在漏洞,被上传了websehll,每次被删除过段时间又出来了,最终查到所有的木马

从以下几个方面查找并加强

1.根据特征码查找:

php木马一般含有<?php eval($_POST[cmd]);?>或者<?php assert($_POST[cmd]);?>

  1. find /wwwroot/* -type f -name "*.php" |xargs grep "eval(" > /wwwroot/scan.txt 

结果就查出很多明显的webshell,并且发现都藏在attachment等目录下

2.利用网上的一个php代码,搜索最近被修改的文件

scandir.php

内容如下:

 

  1. <?php 
  2. set_time_limit(0);//防止超时 
  3. /** 
  4. * 
  5. * php目录扫描监控增强版 
  6. * 
  7. * @author lssbing (lssbing#gmail.com) 
  8. * @date 2010-1-18 
  9. * @license BSD 
  10. * @version 1.0 
  11. * 
  12. 下面几个变量使用前需要手动设置 
  13. * 
  14. **/ 
  15. /*===================== 程序配置 =====================*/ 
  16. $pass="12345";//设置密码 
  17. $jkdir="."//设置监控扫描的目录,当前目录为\'.\',上一级目录为\'..\',也可以设置绝对路径,后面不要加斜杠,默认为当前目录 
  18. $logfilename="./m.log";//设置存储log的路径,可以放置在任意位置 
  19. $exclude=array(\'data\',\'images\');//排除目录 
  20. $danger=\'eval|cmd|passthru|gzuncompress\';//设置要查找的危险的函数 以确定是否木马文件 
  21. $suffix=\'php|inc\';//设置要扫描文件的后缀 
  22. /*===================== 配置结束 =====================*/ 
  23.  
  24. $filename=$_GET[\'filename\']; 
  25. $check=$_GET[\'check\']; 
  26. $jumpoff=false; 
  27. $url = $_SERVER[\'PHP_SELF\']; 
  28. $thisfile = end(explode(\'/\',$url)); 
  29. $jump="{$thisfile}|".implode(\'|\',$exclude); 
  30. $jkdir_num=$file_num=$danger_num=0; 
  31. define(\'M_PATH\',$jkdir); 
  32. define(\'M_LOG\',$logfilename); 
  33. if ($check==\'check\'
  34. $safearr = explode("|",$jump); 
  35. $start_time=microtime(true); 
  36. safe_check($jkdir); 
  37. $end_time=microtime(true); 
  38. $total=$end_time-$start_time
  39. $file_num=$file_num-$jkdir_num
  40. $message" 文件数:".$file_num
  41. $message.= " 文件夹数:".$jkdir_num
  42. $message.= " 可疑文件数:".$danger_num
  43. $message.= " 执行时间:".$total
  44. echo $message
  45. }else
  46. if ($_GET[\'m\']=="del"Delete();//处理文件删除 
  47. //读取文件内容 
  48. if(isset($_GET[\'readfile\'])){ 
  49. //输出查看密码,密码校验正确以后输出文件内容 
  50. if(emptyempty($_POST[\'passchack\'])){ 
  51.    echo"<form id="form1" name="form1" method="post">" 
  52.     . " <label>pass" 
  53.     . " <input type="text" name="passchack" />" 
  54.     . " </label>" 
  55.     . " <input type="submit" name="Submit" value="提交" />" 
  56.     . "</form>" 
  57.    .""
  58.    exit
  59. }elseif(isset($_POST[\'passchack\'])&&$_POST[\'passchack\']==$pass){ 
  60.    $code=file_get_contents($_GET[

Tags: tr spell linux spell spell 命令 ffmpeg
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史