珠海电信DNS劫持弹出广告的分析

pop:之前武汉的电信也出现过类似的广告,应该是利用DNS在控制,这次又有区别。

弹出页面地址:
http://welcome.gd.vnet.cn/ztts/090715/?p=1247273785|73747868|293|696|416|0¶m=ABioyajZGekprChZeMncrHx8fPxs+/zsnM0Zib2Y+Qk5achpabwsjHzNmKjJqNkZ6Sms3ChZeMncrHx8fPxs+/zsnM0Zib2ZyWi4aWm8LP2YyQio2cmoqNk8KIiIjRh5aekJGaltGckJLQ

弹出页面源码:

<!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>
<script language="javascript" src="http://59.37.54.194:8080/clicktotal/ClickTotal.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>宽带用户登录中游热血三国即送游戏点卡</title>
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
-->
</style>
</head>

<body style="margin:0px; padding:0px; border:0px; " scroll="no">
<SCRIPT type=text/javascript>
var gaJsHost = (("https:" == document.location.protocol) ?
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost +
"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</SCRIPT>

<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-6372384-1");
pageTracker._trackPageview();
} catch(err) {}</script>
<div align="center"><a href="http://sg.chinagames.net/20090709/index.html" onclick="javascript:pageTracker._trackPageview('/进入游戏/');" target="_blank"><img src="game.jpg" width="350" height="250" border="0"></a></div>
</body>
</html>

分析:

简单的来说只有广告代码;应该不是利用DNS,可能是骨干路由器上面在搞鬼。

通过google-analytics.com这里可以看到用了google的分析统计

http://59.37.54.194:8080/clicktotal/ClickTotal.js 貌似也是统计点击的
http://59.37.54.194:8080/ 这个站点居然是可以列目录文件的。

ClickTotal.js 源码:

if (document.all){
window.attachEvent('onload',RegEvents)
}
else{
window.addEventListener('load',RegEvents,false);
}

function RegEvents()
{

    document.onclick=function(ev)
    {
  
        ev = ev || window.event;
        var target    = ev.target || ev.srcElement;
      
        if (target.tagName.toLowerCase() == "img" ){
        
          
            if ( target.parentNode.tagName.toLowerCase() == "a" ){
                
                 return LinkClickEvent();
            }        
        }
        else{
              if(target.tagName.toLowerCase() == "a"  ||  target.tagName.toLowerCase() == "input"  )
               {  
                   //只有超链接和按钮才激发该事件            
                   return LinkClickEvent();
              }
       }
    }    
    
    //注册iframe
     CreatFrame();
}
function LinkClickEvent(){  

var URL = "http://59.37.54.194:8080/clicktotal/PushClickSubmit.aspx";//统计点击率的页面
var iframe = window.clickiframe;
iframe.location= URL+window.location.search;
return true;
}
function CreatFrame(){
var iframe = document.createElement('iframe');
iframe.src="about:blank";
iframe.id="clickiframe";
iframe.name="clickiframe";
iframe.width = 0;
iframe.height=0;
iframe.frameBorder=0;
document.body.appendChild(iframe);
}

解决办法:
只有联系电信自己来解决了,至于换DNS什么的好像不奏效,因为的DNS是OPENDNS的208.67.222.222/208.67.220.220,是不会存在广东电信的劫持的

更多相关技术分析,请借鉴
http://inluck.net/weblog/view.aspx?filename=20090425_1718.xml

武汉电信DNS劫持推放式框架广告:流氓的AdPortal

pop:这几天一直遇到这个问题,照上面的做了效果不好,回头还是打电话去投诉的。最后面路由器的方式是我原创的,作用也就是禁止这个AdPortal的IP通过。
不过效果不是很好,建议大家还是换一个DNS用用,这里提供湖南电信的两个:
61.137.94.196
61.137.94.195

这几天在做网站,还以为是装了IIS的问题导致的,每次开网站的时候后面都带了一个?,而且还是使用框架的结构那样。还以为是被arp了,一想局域网的机器是刚做的系统肯定没有病毒,所以看了看源代码。

221.232.247.110
221.232.161.106

这个都是武汉电信的IP,很明显又是电信在DNS上面搞鬼。

解决办法:

首先了解一下
http://219.133.33.46/adportal/portal1.aspx?param=ABcHJvdmluY2VpZD0yMCZjaXR5aWQ9NTc3MDEmY2xhc3NpZD0xNzc1JnVzZXJuYW1lPXd6bC44ODg0Njc3MCZzb3VyY2V1cmw9d3d3LnRhb2Jhby5jb20vaGVscC93YW5nd2FuZy9pbWZwLnBocD8wLjg1NDU0MDAxNjkzNDcyNzk=

实际上,广告链接里的一大堆字符串,正是用户的个人信息,电信通过了base64编码方式进行了一次编译。如果用base64解码器进行分析得出的信息就是:provinceid=20&cityid=57701&classid=1775&username=wzl.88846770&sourceurl=www.taobao.com/he lp/wangwang/imfp.php?0.8545400169347279

其中很容易就看出用户的大量信息,以及用户的ADSL用户名wzl.88846770, soureurl就是用户想要浏览的地址。

拦截方法一:为你的防火墙设置规则,这里以天网防火墙为例!

打开天网防火墙,打开规则列表,点击增加规则按钮,输入名称和说明,数据包方向选择“接受或发送”,对方IP地址选择“指定地址”,输入IP:221.232.247.110,数据包协议类型选择“TCP”!对方端口从80到80 ,TCP标志位勾上SYN,当满足上述条件时 选“拦截”,确定即可,接着点击保存规则按钮(注意一定要点保存规则就是软盘的图标)!

其实这样已经可以了,但为了保险,还可以进行以下操作。

接下来拦截页面,打开我的电脑,控制面板-Internet选项,安全,受限制的站点,站点按钮,添加地址http://221.232.247.110/*这里不推荐IE的拦截功能,如果你有自己的游览器,如GoSurf,那么效果会很好,GoSurf游览器添加方法:工具,GoSurf选项,广告过滤,阻止名单,阻止页面,添加http://221.232.247.110/*

这里不建议使用host过滤,因为host过滤的话页面打开时指向自己的IP的话,那么可能遇到页面打不开的情况,那么和没有过滤的效果是一样的(防火墙已经过滤),反而会停留这一页面,需要用户手动关闭,反而不方便! 接着这一步就很重要了,别问原因,照做就行!

拦截方法二:IP安全策略

开始,运行,mmc 文件,添加/删除管理单元,添加,双击IP安全策略管理 选择计算机域,本地计算机,完成,关闭,确定。 返回控制台要节点,多了(IP安全策略,在本地计算机) IP安全策略,在本地机器,右键,创建IP安全策略,下一步,输入描述,下一步,激活默认相应规则,下一步,默认响应规则身份验证方法:此字符串用来保护密钥交换(预共享密钥),任意键入一段字符串,下一步,完成。

双击创建好的新IP安全策略,添加,安全规则向导,下一步,隧道终结点:此规则不指定隧道,下一步,所有网络连接,下一步,身份验证方法:此字符串用来保护密钥交换(预共享密钥)描述:拦截电信,下一步,IP筛选器列表,添加,下一步,IP通信源:我的IP地址,下一步,目标地址:指定IP地址,输入IP:221.232.247.110,下一步,IP协议类型:任何,下一步,完成,选中新创建的筛选器,下一步,筛选器操作:需要安全,下一步,完成,确定,关闭。 返回控制台,新的IP安全策略,右键,指派!

大功告成! 这时已经完全隔离了与221.232.247.110的通讯ping都ping不通。防火墙,IP策略选择其一使用就可以了。

拦截方法三:路由器来封锁

以TPlink为例:

1、开启防火墙总开关,然后“开启IP地址过滤”,勾选“凡是不符合已设IP地址过滤规则的数据包,允许通过本路由器 ”

2、打开“IP地址过滤”,在这里添加一个记录,在“广域网IP地址”这里添加要封锁的IP,如221.232.161.106,协议为“ALL”,状态“禁止通过”;这样你就ping不通221.232.161.106了。