查看: 10544|回复: 2

[工具专区] 自己写的php木马webshell扫描器

[复制链接]
  • TA的每日心情
    开心
    2015-9-8 13:06
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2012-6-11 08:14:36 | 显示全部楼层 |阅读模式


    因为前端时间服务器被放过 所以写了个webshell扫描器 呵呵 专杀php webshell 不管大马还是小马 包括一句话 现在放出代码来

    <?php
    /*===================== 程序配置 =====================*/

    $dir='cms'; //设置要扫描的目录
    $jumpoff=false;//设置要跳过检查的文件
    $jump='safe.php|g'; //设置要跳过检查的文件或者文件夹 $jumpoff=false 时此设置有效
    $danger='eval|cmd|passthru';//设置要查找的危险的函数 以确定是否木马文件
    $suffix='php|inc';//设置要扫描文件的后缀
    $dir_num=0;
    $file_num=0;
    $danger_num=0;
    /*===================== 配置结束 =====================*/

    extract (GetHttpVars());

    if ($m=="edit") Edit();
    if ($m=="del") Delete();
    if ($check=='check')
    {   $safearr = explode("|",$jump);
    $start_time=microtime(true);
    safe_check($dir);
    $end_time=microtime(true);
    $total=$end_time-$start_time;
    $file_num=$file_num-$dir_num;
    $message= " 文件数:".$file_num;
    $message.= " 文件夹数:".$dir_num;
    $message.= " 可疑文件数:".$danger_num;
    $message.= " 执行时间:".$total;
    echo $message;
    exit();
    }
    function GetHttpVars() {//全局变量
    $superglobs = array(
    '_POST',
    '_GET',
    'HTTP_POST_VARS',
    'HTTP_GET_VARS');
    $httpvars = array();

    foreach ($superglobs as $glob) {
       global $$glob;
       if (isset($$glob) && is_array($$glob)) {
        $httpvars = $$glob;
       }
       if (count($httpvars) > 0)
       break;
    }
    return $httpvars;

    }
    function Safe_Check($dir)//遍历文件
    {
    global $danger ,$suffix ,$dir_num ,$file_num ,$danger_num;

    ) or die('文件夹不存在') ;
    while ($file=$hand->read() )
    {
       $filename=$dir.'/'.$file;
       if (!$jumpoff) {
        if(Jump($filename))continue;
       }
       if(@is_dir($filename) && $file != '.' && $file!= '..'&& $file!='./..')
       {   $dir_num++;
       Safe_Check($filename);
       }
       if (preg_match_all ("/\.($suffix)/i",$filename,$out))
       {

        $str='';
        $fp = @fopen($filename,'r')or die('没有权限');
        while(!feof($fp))
        {
         $str .= fgets($fp,1024);
        }
        fclose($fp);
        if( preg_match_all ("/($danger)[ \r\n\t]{0,}([\[\(])/i",$str,$out))
        {
         echo "<font color='green' style='font-size:14px'>可疑文件:{$filename}</font>
               <a href='?m=edit&filename=$filename' target='_blank'><u>查看代码</u></a>
               <a href='?m=del&filename=$filename' target='_blank'>删除</u></a><br>";
         $danger_num++;
        }
       }

       $file_num++;
    }
    }
    function Edit()//查看可疑文件
    {
    global $filename;
    $filename = str_replace("..","",$filename);
    $file = $filename;
    $content = "";
    if(is_file($file))
    {
       $fp = fopen($file,"r")or die('没有权限');
       $content = fread($fp,filesize($file));
       fclose($fp);
       $content = htmlspecialchars($content);

    }
    echo "<textarea name='str' style='width:100%;height:450px;background:#cccccc;'>$content</textarea>\r\n";
    exit();
    }
    function Delete()//删除文件
    {
    global $filename;
    (is_file($filename))?($mes=unlink($filename)?'删除成功':'删除失败 查看权限'):'';
    echo $mes;
    exit();
    }
    function Jump($file)//跳过文件
    {
    global $jump,$safearr;
    if($jump != '')
    {
       foreach($safearr as $v)
       {
        if($v=='') continue;
        if( eregi($v,$file) ) return true ;
       }
    }
    return false;
    }
    ?>
    <form action="" >
    <input type="submit"   value="开始检测" />
    <input type="hidden"   name="check"   value="check"/>
    </form>

    回复

    使用道具 举报

    头像被屏蔽

    该用户从未签到

    发表于 2012-6-11 09:38:35 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2015-9-12 11:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2012-8-4 15:33:49 | 显示全部楼层
    如何弄成工具啊
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-12-22 10:59 , Processed in 0.025219 second(s), 12 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部