查看: 5173|回复: 4

反电信劫持。请大大们看下

[复制链接]
发表于 2007-5-13 22:52:59 | 显示全部楼层 |阅读模式
上海ADSL用户,拨号登录ADSL后,访问任何网站,都会自动跳转到上海互联星空,停留30秒(现在已经改为12秒),然后才回到你期望的网站。也就是说,上海ADSL用户的浏览器被上海电信劫持了,这是不折不扣的流氓行为。可恶!真可恶! 经对目标URL简单分析,找到了反劫持上海电信的方法。这里以访问"http://www.microsoft.com/isapi/redir.dll?prd=ie"为例,发出访问请求后,自动跳转目标为"http://welcome.sh.vnet.cn/portal/nt/index.jsp?cpkey=39875&cpinst=0&olddst=www.microsoft.com&cpssg=218.1.60.244&cpuname=ad51967743@online&oldurl=/isapi/redir.dll?prd=ie"。拆分该URL(其它参数全部忽略): 目标站点:welcome.sh.vnet.cn (上海互联星空所谓"欢迎信息"站点) 目标文件:/portal/nt/index.jsp 原目标站点:www.microsoft.com 原目标文件:/isapi/redir.dll?prd=ie 反劫持方法如下: 1、修改文件C:\WINDOWS\system32\drivers\etc\hosts,在文件尾添加一行,将目标站点IP地址强行解析为本机: 127.0.0.1 welcome.sh.vnet.cn 2、添加Windows组件Internet信息服务(IIS),如果已经安装则忽略这一步; 3、依次创建目录C:\Inetpub\wwwroot\portal、C:\Inetpub\wwwroot\portal\nt,(目录C:\Inetpub\wwwroot应该已存在); 4、创建文件index.jsp,内容如下: < script language="javascript"> function Request(sName) { var sURL = new String(window.location); var iQMark= sURL.lastIndexOf('?'); var iLensName=sName.length; var iStart = sURL.indexOf('?' + sName +'='); if (iStart==-1) { iStart = sURL.indexOf('&' + sName +'='); if (iStart==-1) { return 0; } } iStart = iStart + + iLensName + 2; var iTemp= sURL.indexOf('&',iStart); if (iTemp ==-1) { iTemp=sURL.length; } return sURL.slice(iStart,iTemp ); sURL=null; } var sOldURL = "http://" + Request("olddst") + Request("oldurl"); document.write("Waiting for " + sOldURL + "..."); document.write("< meta http-equiv=\"refresh\" content=\"2; url=" + sOldURL + "\">"); < /script> 5、OK!至此上海互联星空已经被扔到臭水沟了,浏览器工作区显示"Waiting for http://www.microsoft.com/isapi/redir.dll?prd=ie..."2秒钟后将直接进入你期望的网站!如果不想浪费时间,可以把2改为0,停留2秒只为提醒你自己,给自己保留在心里骂"Shanghai Telecom, SHIT!"的机会! 让我们一起大声朗读:Shanghai Telecom, SHIT! 当然这个方法尽管完全摆脱了上海互联星空的骚扰,但也付出了一定的代价,那就是由于是把welcome.sh.vnet.cn反劫持到本机(127.0.0.1),必须在本机安装并启动IIS服务。
==============================================
这是我在网上找的反电信劫持的办法,请评论下,谢谢。


[ 本帖最后由 01234567890 于 2007-5-14 11:18 编辑 ]
回复

使用道具 举报

发表于 2007-5-14 09:25:46 | 显示全部楼层
楼主应该排一下版,这样看着会更清晰些.
回复

使用道具 举报

发表于 2007-5-14 12:48:21 | 显示全部楼层
电信劫持你,你再劫持电信,呵呵~~

大家劫持来劫持去,玩得不亦乐乎……

既然装了IIS,建议用ASP写服务器端代码
用Response.Redirect,比JS清静点……

添加jsp文件的映射到asp.dll……否则jsp是没法解析的……呃
回复

使用道具 举报

发表于 2009-2-19 22:44:45 | 显示全部楼层
如果URI中包含原始URI那倒好办,问题是现在电信越来越狡猾了,先一个包含frame的简单网页,然后再定向到用户原始URI,这样看来有难度了。
由于并不是每次访问网页都会有这种情况,所以找解决办法也更难了。

目前广西ADSL用户大多可以每天看到以下页面内容带来的广告!

<html><head><title> </title><!-- 30 --></head><script language=JScript><!-- function killErrors(){return true;} window.onerror = killErrors; --></script><frameset rows="*"><frame src="http://gx.vnet.cn/ad/up/index.asp" noresize></frameset></html>

最好的解决办法是向严词向10000投诉!
回复

使用道具 举报

发表于 2009-2-20 02:54:41 | 显示全部楼层
对于楼主的方法,主机只要能提供3W服务即可(IIS , APACHE etc.)
处理文件既然是用 JavaScript,那么文件最好保存为HTML文件,即“*.htm” 或“*.html”。
获取到原始URI后:
location.replace(sOldURL);
或者
setTimeout("location.replace('"+sOldURL+"')", 2000);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表