2011-9-12 9:41:11 补充:

    经过 Detective 的提醒,才发现,原来这是个自己申请QQ空间的二级域名,我擦,我一直以为是腾讯官网,导致绕了这么大一个弯,以下疑问基本都有解释了。

Detective:

【分析】腾讯独立域名QQ空间被钓鱼,腾讯官网被黑,被植入钓鱼页面!

    很早就记得QQ空间二级域名是可以申请注册的,QQ:1411134564 只不过利用这一点开通了黄钻申请了二级域名,DIY了个空间模板钓鱼罢了。

    QQ空间二级域名注册申请:http://imgcache.qq.com/qzone/mall/v5/web/my_dn/mydn.html

------------------------------------------- ↓ 原文如下 ↓ -------------------------------------------

腾讯独立域名QQ空间被钓鱼,腾讯官网被黑,被植入钓鱼页面!

    【分析】腾讯独立域名QQ空间被钓鱼,腾讯官网被黑,被植入钓鱼页面!

    该按钮已被劫持到:http://sevza.co.cc/aq.qq.com/,此地址非腾讯官网!是一个精心设计的钓鱼网站!不明真相者进入,会被盗取QQ账号、解绑密保手机!

腾讯独立域名QQ空间被钓鱼,腾讯官网被黑,被植入钓鱼页面!

    这是一个假的腾讯官网域名,把网址做的和腾讯官网的非常相似,欺骗用户,再加上高度仿真的网页,估计不少聪明的用户都要上当了,这个网页做得太高仿,太精细了!

    不明真相的群众要是盲目的填写账号密码后,就会被钓鱼者记录,盗取该用户的QQ号、解绑密保手机等操作,还会被修改密保问题。

    大家仔细观察这个页面,就知道这个页面存在什么问题了,确实很真实,小菜一看会上当,可能有些人认为这些不算什么,希望大家注意,不的不说,这个域名确实属于腾讯公司的独立域名,很显然是被入侵了。

    腾讯官网:

http://serlcve.qzone.qq.com/

    假冒腾讯官网的钓鱼地址:

http://serviae.cn.im/aq.qq.com/

    钓鱼站做的很全、很逼真。那个钓鱼站做得真完整,从密码到密保到解绑手机神马都有了。

缺陷编号: WooYun-2011-02803

漏洞标题: 腾讯独立域名QQ空间被钓鱼

相关厂商: 腾讯

漏洞作者: 炮灰

提交时间: 2011-09-10

漏洞类型: 钓鱼欺诈信息

危害等级: 中

自评Rank: 5

漏洞状态: 等待厂商处理

漏洞详情

简要描述:

钓鱼地址 http://serlcve.qzone.qq.com/

漏洞hash:40de9a19f6a151f1bb99dc37c57bde38

↓ 钓鱼过程完整详细还原 ↓

1、点击按钮“立即解除限制”,抓包数据:

    进入腾讯官网正常页面。

    点击按钮“立即解除限制”,新打开个页面,地址为:http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_urlcheck?appid=99&modelid=1&url=http%3A%2F%2Fredir.yy.duowan.com%2Fredir.php%3Furl%3Durl.ifeng.com%2FJLBK

-----------------------------------------------------------------------------------

GET /cgi-bin/qzshare/cgi_qzshare_urlcheck?appid=99&modelid=1&url=http%3A%2F%2Fredir.yy.duowan.com%2Fredir.php%3Furl%3Durl.ifeng.com%2FJLBK HTTP/1.1
Accept: */*
Referer: http://serlcve.qzone.qq.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: sns.qzone.qq.com
Connection: Keep-Alive
Cookie:

2、立刻返回一个302重定向数据包,页面被重定向到http://redir.yy.duowan.com/redir.php?url=url.ifeng.com/JLBK”:

    这个是利用多玩QQ空间的网址跳转功能跳转到另外一个网站,从而嫁祸给QQ空间,躲过杀毒软件拦截,俗称“网址漂白”。

    例如:http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_urlcheck?appid=99&modelid=1&url=http://redir.yy.duowan.com/redir.php?url=url.ifeng.com/JLBK

------------------------------------------------------------------------------------

HTTP/1.1 302 Found
Content-Length: 237
Connection: close
Content-Type: text/html
Location:http://redir.yy.duowan.com/redir.php?url=url.ifeng.com/JLBK

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>302 Found</title></head>
<body><h1>Found</h1><p>The document has moved <a href="http://redir.yy.duowan.com/redir.php?url=url.ifeng.com/JLBK">here</a>.</p></body></html>

3、用户浏览器会重新访问这个重定向后的地址,抓包数据:

GET /redir.php?url=url.ifeng.com/JLBK HTTP/1.1
Accept: */*
Referer: http://serlcve.qzone.qq.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: redir.yy.duowan.com
Connection: Keep-Alive

4、紧接着又返回302网址重定向数据包,用户页面再次被重定向至“http://url.ifeng.com/JLBK”:

    这个是利用多玩网站的网址跳转功能跳转到另外一个网站,从而嫁祸给多玩网站,躲过杀毒软件拦截,俗称“网址漂白”。

    例如:http://redir.yy.duowan.com/redir.php?url=http://www.baidu.com/,打开后会跳转到百度。

------------------------------------------------------------------------------------

HTTP/1.1 302 Moved Temporarily
Server: nginx/0.7.65
Date: Sun, 11 Sep 2011 02:17:18 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.2.10
Location: http://url.ifeng.com/JLBK
Cache-Control: no-cache

0

und</h1><p>The document has moved <a href="http://redir.yy.duowan.com/redir.php?url=url.ifeng.com/JLBK">here</a>.</p></body></html>

5、用户浏览器只好再次访问重定向过的网址,抓包数据:

GET /JLBK HTTP/1.1
Accept: */*
Referer: http://serlcve.qzone.qq.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: url.ifeng.com
Connection: Keep-Alive
Cookie: IfengArp_2966=1; IfengArp_2138=1; ALLYESID4=032F46A7B05EB666; IfengArp_2137=1; IfengArp_637=1; IfengArp_639=0; userid=1315705121468_4899

6、再次返回302重定向数据包,用户浏览器再次被重定向到网址“http://sevza.co.cc/aq.qq.com/”:

    同理,还是利用大网站的网址跳转功能,漂白自己的网址,躲过杀毒软件拦截。

---------------------------------------------------------------------------------

HTTP/1.1 302 Moved Temporarily
Server: nginx/1.0.5
Date: Sun, 11 Sep 2011 02:17:18 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
LOCATION: http://sevza.co.cc/aq.qq.com/
Vary: Accept-Encoding
X-UA-Compatible: IE=EmulateIE7

0

7、用户“天然呆”的浏览器只好再次访问这个重定向后的地址……:

GET /aq.qq.com/ HTTP/1.1
Accept: */*
Referer: http://serlcve.qzone.qq.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Connection: Keep-Alive
Host: sevza.co.cc

8、终于,经过4次重定向后,最终钓鱼页面终于打开了,返回 HTTP/1.1 200 OK 数据:

    经过4次跳转,最终用户浏览器被重定向至:http://sevza.co.cc/aq.qq.com/,成功的进入了钓鱼者的页面。

-------------------------------------------------------------------------------------------------

HTTP/1.1 200 OK
Date: Sun, 11 Sep 2011 02:17:18 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 15830
Content-Type: text/html
Set-Cookie: ASPSESSIONIDCQAQCBAA=GGLBEEFBOEEAIKMJMDEIAHAP; path=/
Cache-control: private


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title>QQ瀹夊叏涓績</title>
 
<link href="http://aq.qq.com/htdocs/css/style.css" rel="stylesheet" type="text/css" />
<link href="http://aq.qq.com/htdocs/css/index_css.css?v=1" rel="stylesheet" type="text/css" />
<script language="javascript" src="http://aq.qq.com/htdocs/js/jquery.min.js"></script>
<script language="javascript" src="http://aq.qq.com/htdocs/js/common.js.2.0"></script>
<script src="http://aq.qq.com/htdocs/js/tip.js" type="text/javascript"><

…… 省略 ……

9、钓鱼网站开始实施钓鱼攻击,骗取受害者QQ账号、密码、密保手机、密保问题等信息:

    这是一个假的腾讯官网域名,把网址做的和腾讯官网的非常相似,欺骗用户,再加上高度仿真的网页,估计不少聪明的用户都要上当了,这个网页做得太高仿,太精细了!

    不明真相的群众要是盲目的填写账号密码后,就会被钓鱼者记录,盗取该用户的QQ号、解绑密保手机等操作,还会被修改密保问题。

↓ 入侵过程详细还原 ↓

    经过技术手段分析,发现本次腾讯官网“劫持”是源于一个XSS漏洞,不过这也在本人料想之内。

    关键地址:

http://b.qzone.qq.com/cgi-bin/custom/get_custom_window.cgi?uin=1411134564&type=html&t=0.11928448734473595&g_tk=5381

    该地址打开后,代码如下:

关键代码:

红色的是跳转地址,蓝色的是XSS用的图片地址。

callback(
{1:{
result:"0",
qhtml:"\x3Cqz:title type=\x22image\x22 moduleborder=\x22false\x22>\x3C/qz:title>\x3Cdiv>\x3Ca href=\x22http://redir.yy.duowan.com/redir.php?url=url.ifeng.com/JLBK\x22 target=\x22_blank\x22>\x3Cimg src=\x22http://b76.photo.store.qq.com/http_imgload.cgi?/rurl4_b=6da1611344d3c2a4239e77daaf19d61eb38569956d7281a7fcee9e98a1e50f4c2e806ad034c208d750448694e70cbc0a7f63bc9ca81e75028595abae5bb95499628350fb80add0fe9b5fcf0afa2800b65fd3537f&a=76&b=76\x22 width=\x220\x22 height=\x220\x22  />\x3C/a>\x3C/div>",
qscript:"",
qstyle:""
}
}
);

    看代码中的红色部分,这段文字既是本次腾讯官网被劫持的始作俑者,看着像不像XSS?呵呵。

    那么腾讯的首页(http://serlcve.qzone.qq.com/)为什么会调用这个地址呢?继续往下看!

    我在这个地址找到了答案:http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/F/GF_B636_b636_b.js

http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/F/GF_B636_b636_b.js:

原始代码太过杂乱,不便阅读,下边的经过格式化整理。

…… 省略 ……


case "flash":
    {
        od.out = o.stripedHtml.replace(re.flash,
        function(a, b) {
            od.hash = commonDictionarySplit(b, " ", "\"");
            var oFlash = {
                src: escHTML(od.hash.swfsrc),
                loop: (od.hash.loop == "yes" || od.hash.loop == "true") ? true: false,
                play: (od.hash.waitforclick == "yes" || od.hash.waitforclick == "true") ? false: true,
                wmode: escHTML(od.hash.wmode),
                allowFullScreen: 'true',
                width: !(od.hash.width - 0) ? "100%": escHTML(od.hash.width),
                height: !(od.hash.height - 0) ? (isFree ? "100%": 266) : escHTML(od.hash.height)
            };
            if (!QZONE.App.isB()) {
                oFlash.allownetworking = o.qsafelevel == QZONE.App.Constructor.SAFE_LEVEL.SAFE ? "internal": "none",
                oFlash.allowscriptaccess = "never";
            }
            return QZFL.media.getFlashHtml(oFlash);
        }).replace(/^<div>|<\/div>$/, "");
        break;
    }
default:
    ""
}
return od;
};QZONE.App.Constructor.configuration = {
    modes: [{
        width: 300,
        height: 266
    }]
};QZONE.App.getCustomModulePkg = function() {
    var g = new QZFL.JSONGetter("http://" + g_NewBlog_Domain + "/cgi-bin/custom/get_custom_window.cgi", "fp_customModuleList", {
        uin: g_iUin,
        type: "html",
        t: Math.random()
    },
    "GB2312");
    g.onSuccess = function(o) {
        if (o) {
            for (var i in o) {
                if (o[i]) QZFL.dataCenter.save("_99_" + i, o[i]);
            }
            QZONE.App.fillCustomModule();
        }
    };
    g.onError = QZONE.App.fillCustomModule;
    g.send("callback");
    ENV.set("customGot", true);
};QZONE.App.fillCustomModule = function() {
    var d, tmp, tmpo, data;
    var flag = false,
    oneDay = 24 * 3600 * 1000;
    QZONE.Module.moduleEach(function(m, uid, type) {
        if (type == 2) {
            var fData = QZFL.dataCenter.get(uid),
            co;
            if (co = m.contentObject) {
                if (co.data) {
                    return;
                } else {
                    if (fData && fData.qhtml && (co.data = QZONE.App.Constructor.parseData(fData))) {
                        if (co.data.type == 'flash') {
                            if (co.data.qsafelevel < QZONE.App.Constructor.SAFE_LEVEL.SAFE) {
                                var falt = +QZFL.cookie.get('falt'),
                                falt_d = +QZFL.cookie.get('falt_d'),
                                cD = new Date();
                                if (!falt && (!falt_d || cD - new Date(falt_d) < 5 * oneDay)) {
                                    QZONE.space.showTips('<strong class="c_tx4">空间小助手提醒您:最近有恶意用户借flash模块盗取他人QQ号。为保障您的利益,自定义模块将进行全面升级优化,暂不支持展示没有审核的flash链接。<a href="http://service.qq.com/info/63755.html" target="_blank" class="c_tx">点击此处查看详情</a>  </strong>', 0, {
                                        autoHide: 0
                                    });
                                    QZFL.cookie.set('falt_d', cD.getTime(), "qzone.qq.com", '/', 24 * 15);
                                    QZFL.cookie.set('falt', '1', "qzone.qq.com", '/', 24);
                                }
                                var refId = co._moduleRefId;
                                QZONE.Module.remove(refId);
                                return;
                            }
                        }
                        if (!co.data.moduleborder && !QZONE.App.isB()) {
                            m.isNoBorderCustom = true;
                        }

…… 省略 ……

    注意其中红色的代码,那么又是那个文件调用了这个js呢?继续往下看!

    答案在这里:http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/G5/G5_B237b238.js

http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/G5/G5_B237b238.js:

原始代码太过杂乱,不便阅读,下边的经过格式化整理。

代码中的红色代码运算后的结果既是:http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/F/GF_B636_b636_b.js

…… 省略 ……

initModule.sort = function(a, b) {
    return g_frameStyle > 0 ? (a.posx - b.posx || a.posy - b.posy) : (a.posz - b.posz);
};
function fillModule(module, data) {
    var appid = module.moduleId,
    cfg = QZONE.App.adapter[appid],
    path = 'http://' + siDomain + '/ac/qzone/v5/G/',
    url; ! QZONE.App[appid] ? (cfg && (url = cfg.url) && QZFL.imports(url.length - 1 ? url: (path + url + '/G' + url + (g_V[url] || '') + '.js'), cb)) : cb();
    function cb() {
        TCISD.createTimeStat("guestFrontPage").mark(31);
        if (QZONE.App[appid]) {
            typeof(QZONE.App.fixModuleApplier) == 'function' && QZONE.App.fixModuleApplier(appid);
            new QZONE.App[appid](module, module.windowId, data).present();
            module.refreshMenu && module.refreshMenu();
        }
    }
}
function fillModuleContent(modules, isDynamic) {
    var arrHaveStatic = [],
    arrHaveStaticId = g_StaticFlag > 2 ? g_StaticFlag.split('_') : [],
    url;
    QZFL.object.each(modules || QZONE.Module.items || {},
    function(module) {
        var uniqueId = module.uniqueId,
        cfg, data;
        if (cfg = QZONE.App.adapter[module.moduleId]) {
            data = QZFL.dataCenter.get(uniqueId);
            if (cfg.cache && data && (!isDynamic && ('_' + window.g_StaticFlag + '_').indexOf('_' + uniqueId.slice(1).split('_').join('.') + '_') < 0 || isDynamic)) {
                if (cfg.delay) {
                    delay(fillModule, cfg.delay, module, data);
                } else {
                    fillModule(module, data);
                }
            } else if (cfg.cache && !isDynamic) {
                arrHaveStatic.push(module);
                uniqueId = uniqueId.slice(1).split('_');
                uniqueId[0] == '334' && (uniqueId[0] = '7');
                arrHaveStaticId.push(uniqueId.join('.'));
            } else {
                if (cfg.delay && modules && modules.length > 1) {
                    delay(fillModule, cfg.delay, module, data);
                } else {
                    fillModule(module, data);
                }
            }
        }
    });
    if ((arrHaveStaticId.length || window.g_Needfix) && !isDynamic) {
        arrHaveStaticId = QZFL.lang.uniqueArray(arrHaveStaticId);
        url = 'http://' + g_W_Domain + '/cgi-bin/widget/qzone_dynamic?uin=' + g_iUin + '&newflag=' + arrHaveStaticId.join('_') + '&fix=' + (window.g_Needfix || 0) + '&timestamp=' + g_timestamp;
        QZFL.imports(url,
        function() {
            var tstat = TCISD.createTimeStat("guestFrontPage").mark(8);
            g_StaticFlag = '';
            QZONE.App.dataBuilder(staticData_Callback.data);
            tstat.mark(9);
            fillModuleContent(arrHaveStatic, true);
        },
        {
            errCallback: function() {
                fillModuleContent(arrHaveStatic, true);
            }
        });
    }
}
/*  |xGv00|c259ed30b278d059b84173744aeaed59 */

    随后又找到调用这个js的js:http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/common/global/global_B250b251.js

http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/common/global/global_B250b251.js:

代码中红色部分运算结果既是:http://ctc.qzonestyle.gtimg.cn/ac/qzone/v5/G/G5/G5_B237b238.js

…… 省略 ……

window.loadGFP = function(oJump, lastApp, callback) {
    if (QZONE.FrontPage.getBitMapFlag(47) || window.g_GFPLite || window.g_OFPLite || window.g_Izone) {
        return;
    }
    if (isLoading) {
        queue.push(callback);
    } else if (isLoading === false) {
        delay(function() {
            typeof callback == 'function' && callback();
            jump(oJump);
        });
    } else {
        queue.push(callback);
        isLoading = true;
        var cgiStatic = "http://" + g_Src_Domain + "/cgi-bin/qzone_static_widget?fs=" + g_frameStyle + '&uin=' + g_iUin + '&timestamp=' + g_timestamp;
        var g5 = 'http://' + siDomain + '/ac/qzone/v5/G/G5/G5' + g_V.G + '.js',
        t = $("mainStyle");
        QZFL.imports([cgiStatic, g5],
        function() {
            isLoading = false;
            TCISD.createTimeStat("guestFrontPage").mark(5);
            QZONE.App.dataBuilder(staticData_Callback.data);
            QZONE.space.switchColumn(g_frameStyle);
            TCISD.createTimeStat("guestFrontPage").mark(7); (g_Dressup.windows ? startGFPInit: ecb)(oJump, lastApp);
        },
        {
            errCallback: ecb
        });
        t && t.innerHTML.indexOf("/css/index_mode_out.css") < 0 && QZFL.css.insertCSSLink("http://" + siDomain + "/qzonestyle/qzone_client_v5/css/index_mode_out.css");
    }
};
})();
function loadOFP(oJump, lastApp, callback) {
    if (QZONE.OFP && QZONE.OFP.bootstrap) {
        QZONE.OFP.bootstrap(oJump, lastApp);
        callback(oJump, lastApp);
    } else {
        QZFL.imports('http://' + siDomain + '/ac/qzone/v5/ofp/' + (g_V.ofp ? "ofp" + g_V.ofp + ".js": "OFP5.0.js"),
        function() {
            ENV.set('OFPLoaded', true);
            frameworkErrorHandle();
            QZONE.OFP.bootstrap(oJump, lastApp);
            delay(callback, 50, oJump, lastApp);
        });
    }
}
function openChatbox(uin) {
    var baseDomain = window.g_R_Domain || 'r.qzone.qq.com';
    openChatbox.ifr = openChatbox.ifr || $("_ifrm_ht");
    openChatbox.ifr && (openChatbox.ifr.contentWindow.location = QZFL.string.format('http://{baseDomain}/cgi-bin/user/cgi_tmp_talk?qzone_uin={g_iUin}&to_uin={tarUin}&g_tk={g_tk}', {
        baseDomain: baseDomain,
        g_iUin: g_iUin,
        tarUin: uin,
        g_tk: QZONE.FrontPage.getACSRFToken()
    }));
    if (typeof(QZONE.statistic.pvPing.pgvMainV5) == "function") {
        QZONE.statistic.pvPing.pgvMainV5("wpa.qzone.qq.com", "/");
    }
}
function statClinicSucc() {
    var diagnose = QZFL.cookie.get('diagnose');
    if (diagnose) {
        setTimeout(function() {
            new Image().src = 'http://pingfore.qq.com/pingd?dm=my.qzone.qq.com&url=/clinicsucc/' + diagnose + '&tt=-&rdm=-&rurl=-&pvid=9644810544&scr=-&scl=-&lang=-&java=1&cc=-&pf=-&tz=-8&ct=-&vs=3.31&_=' + Math.random();
        },
        100);
    }
    QZFL.cookie.del('diagnose', 'qzone.qq.com');
}

…… 省略 ……

    最后在首页找到该Js的调用过程,http://serlcve.qzone.qq.com/。

http://serlcve.qzone.qq.com/:

…… 省略 ……

        <div id="div_clinic" style="position:absolute;width:500px;top:40px;left:50%;margin-left:-250px;display:none">
        </div>
        <script type="text/javascript">
            function openClinic(d) {
                d = document.getElementById("div_clinic");
                d.innerHTML = '<iframe frameborder="no" width="500" height="800" scroll="no" src="http://user.qzone.qq.com/20050606/clinic"></iframe>';
                d && (d.style.display = '');;
                d = document.getElementById('mainBody');
                d && (d.style.display = 'none');
            }
            var g_BriefTimer = setTimeout(function() {
                document.getElementById("_toolbar_placeholder").innerHTML = '<a class="unline c_tx" href="javascript:;" onclick="openClinic();return false;"><strong>空间小助手</strong></a>'
            },
            5000);
            g_T["main"] = [new Date]; (function(v, b, e, i, s, a, c) {
                var arJs = [b, i, a, 'qzfl/qzfl', v.qz, '.js', e, b, s, a, c, 'global/global', v.cg, '.js', e, b, s, a, c, 'interface/interface', v.ci, '.js', e, b, s, a, c, 'shop/shop', v.cs, '.js', e];
                if (g_type != 'M') {
                    arJs.push(b, s, '/qzone/biz/vpage/', g_type, '.js', e);
                }
                if (g_type == 'B') {
                    arJs.push(b, 'p1.qzone.qq.com/cgi-bin/brand_show_space.cgi?biz=', g_iUin, e);
                }
                if (parseInt(g_UserBitmap.charAt(3), 16) > 7) {
                    arJs.push(b, s, '/qzone/biz/vpage/V.js', e);
                }

…… 省略 ……

    我不知道他是怎么找到这个XSS点的,这过程太曲折太离奇了。。还有待进一步分析。。。

    不过已可以确定,本次被劫持钓鱼是由于第三方域名XSS导致的。

    总之:http://b.qzone.qq.com/cgi-bin/custom/get_custom_window.cgi?uin=1411134564&type=html&t=0.11928448734473595&g_tk=5381

    其中的“uin=1411134564”是个关键,这是个QQ号吗?

    打开地址:http://1411134564.qzone.qq.com/ 或者 http://user.qzone.qq.com/1411134564,居然出现腾讯的:http://serlcve.qzone.qq.com/。

腾讯独立域名QQ空间被钓鱼,腾讯官网被黑,被植入钓鱼页面!

腾讯独立域名QQ空间被钓鱼,腾讯官网被黑,被植入钓鱼页面!

腾讯独立域名QQ空间被钓鱼,腾讯官网被黑,被植入钓鱼页面!

    QQ空间XSS?????那这和:http://serlcve.qzone.qq.com/,又有什么关系???恐怕只有问QQ:1411134564 才知道了。

    未完待续 ……

留言评论(旧系统):

yuluo @ 2011-09-11 15:39:22

老核 卧槽 做的太逼真了 不知道可以钓到多少QQ啊 擦 那个人发财了 腾讯安全是吃屎的? 想不通

本站回复:

jac @ 2013-12-21 10:16:35

哇,第一次进这样的网站,楼主好强哦!很有意义的知识帖!刚刚在纠结qq空间假域名的问题,就戳进来了

本站回复:

Good Good Study, Day Day UP~