今天访问本人博客主页,居然出现了神奇的一幕,主页的右下角居然出现了一个小弹窗广告,仔细一看是电信的广告,也许你会觉得我大惊小怪,因为这样的广告在我们日常浏览的大大小小的网站上已经司空见惯了,但是这个可不一样。
<html> <!-- 600 --> <head> <script language="JScript"><!-- function killErrors(){return true;} window.onerror=killErrors; --></script> </head> <frameset rows="*,0" ryt13553="1"> <frame src="http://ah.189.cn/dns/spush/intercept.do?areaCode=9999999" noresize> <html> <head> <meta name="Keywords" content="转盘,贝壳活动,话费,免费抢,积分"> <meta name="description" content="转盘赢大奖 幸运倍增,充值享好礼 充50送2"> <meta http-equiv="X-UA-Compatible" content="IE=7"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title></title> <link href="/dns/css/TS.css" rel="stylesheet" type="text/css"> <link href="/dns/css/customGroup.css" rel="stylesheet" type="text/css"> <script src="/dns/js/jquery-1.3.2.min.js" type="text/javascript"></script> </head> <body> <!-- 用户原访问地址 --> <iframe id="content" name="content" src="http://laoxu.blog.51cto.com/?7dd9f9fe5e394292b407f63223b7ce78=daa376e4dfe44a9eb3214adfbfe7c434" marginwidth="0" marginheight="0" frameborder="0" width="100%" height="673" scrolling="no""> </iframe> <!-- 弹出层 --> <!-- 弹出层 --> <div id="downmsg_emessage"> <div id="downmsgBar"> <div id="donwmsg_head">中国电信网上营业厅|查费交费业务办理</div><a class="close" href="closeDiv()"></a> </div> <div id="donwmsg_content" style="display:block; height:225px"> <div class="adv_flash"> <div id="myjQuery" class="myjQuery"> <div id="myjQueryContent" class="myjQueryContent"> <div> <a href="http://ah.189.cn/shop/mobile/htmls/4984.html?tuisong " target="_blank"> <img style="width:300px;height:220px;" src="http://ah.189.cn/cms/r/cms/ah/default/dns/8815.jpg"> </a> </div> </div> </div> </div> </div> </div> <script language="javascript"> //设置IFrame屏幕高度 document.getElementById("content").height=document.documentElement.clientHeight; //关闭弹出层 function closeDiv(){ document.getElementById("downmsg_emessage").style.display="none"; } //点击推送广告图片 function clickPushAds(groupId,descStr,accountNum, areaCode, redirect) { var queryStr = "method=getTsClick&areaCode="+areaCode+"&descStr="+descStr+"&accountNumber="+accountNum+"&groupId="+groupId; $.ajax({ type: "POST",url: "/dns/spush/groupInfoLog.do", data: queryStr, success: function(msg){ } }); window.open(redirect); } </script> </body> </html> </frame> <frame src="http://61.132.216.232/stat/stat.do?u=05524012895$1465$1465$600$1378602058040$3585814744$13408746" noresize> <html> <head></head> <body>1 </body> </html> </frame> </frameset> </html>
以上是被篡改的页面代码,可以很明显的看出用意,当然他自己已经有注释说明了。基本就是用了一个“js+绝对定位”当我访问用户要请求的地址时,被指向到被篡改的页面。看html代码也知道肯定不是51cto官方帮电信的打得广告。根据html里的代码url,继续往下找。
域名明显不是百度,但是打开确实百度的页面,同样右下角有电信广告弹窗,内容和上面几乎一样,也就是说用户访问百度会被DNS解析到这个假的网页,看html代码红框里是一串hash值,应该是用户访问baidu页面的时间戳,当我刷新一下,这串hash值会立刻发生变化。
据说电信这个宽带推送叫spush,主要是通过篡改tcp协议报文来实现的。