鉴于近来国内访问Google的服务受阻,greatfire.org于前天推出了其基于亚马逊AWS的Google搜索镜像网站,地址是sinaapp.co。该网站随后因多家海外媒体的报道和众多微博大V的转发而一炮走红。我们不用想都知道,其结果必然是接受入侵检测装置的认证。不过比较狗血的是,新浪SAE旗下的sinaapp.com域名因为域名中也含有“sinaapp.co”字样,所以随同singaapp.co一同受到了“特殊照顾”——当从海外访问sinaapp.com域下的应用时,都会提示“连接被重置”。

虽然“认证”随着新浪方面的积极奔走而被取消,但这种使用知名网站类似域名的方法显然被玩坏了——greatfire.org的所有者随后注册了baidustatic.co(百度)、alicdn.co(阿里)、gtimg.co(腾讯)等国内知名网站的相似域名并指向其镜像网站。在V2EX上,有网友建议再注册几个诸如inhuanet.co、anqiu.com之类的域名;甚至有人YY,要是注册个chinamil.co域名然后被BLOCK掉,PLA会是什么反应。在我写这篇文章时,我发现chinamil.co确实已经指向过去了,不知后面会如何……

.CO域名之所以被众挨踢男玩坏了,完全是因为入侵检测装置在对用户访问的URL进行分析时,并不是仅仅提取出其中的HOST部分,而是对整个请求URL进行匹配。我们甚至可以发现,即使这些字符只是出现在请求参数部分,连接也一样会被阻断。

我一直在考虑一个问题(纯技术角度),为什么是对整个URL、而不仅仅是HOST部分进行匹配呢?从HTTP协议来讲,HOST部分和请求参数是分开的,单独对HOST部分进行匹配效率应该更高才对啊,为什么还要匹配请求参数呢?从我的个人经验来看,我觉得主要是两个原因吧:

第一、干掉那些把访问地址“明目张胆”地放到URL参数中的Web代理服务器。早期的Web代理服务器经常是直接把请求地址加入到URL参数中,比如经由Web代理访问http://www.a.com/index.html时,早期的Web代理请求的URL就是http://webproxy/www.a.com/index.html。显然,通过检测请求参数(”/www.a.com/index.html”)便能发现Web代理的真实意图,从而在请求连接阶段就把连接干掉。

第二、一些URL参数中是含有具体内容的,如果发现这些内容中含有敏感信息,便可以趁早采取下一步的措施,比如立即将”RESET标志位“置1重置连接。将连接在发起阶段干掉,便可以避免对连接建立后返回的数据再次进行深度检测,从而降低了负载。

PS:其实这种玩法我几年前就已经想到了,只不过没打算打”擦边球“,所以只是想想罢了。

 

.CO域名快被这帮搞IT的玩坏了……的更多相关文章

  1. sass笔记-1|Sass是如何帮你又快又好地搞定CSS的

    Sass学习笔记持续整理中,开篇不讲怎么安装,sass是什么,这些搜索引擎会告诉你,我们从sass的作用开始讲起,知道sass用来干什么,有什么作用,我们才能相信用sass的好处,并且时时刻刻想着sa ...

  2. 大半夜吃饱了撑的帮人调IE玩

      那高手的也是IE6,我也是IE6,但是他的IE6就总是进recv,我的IE6就进WSARecv,一点都不科学...擦..不调了.

  3. [Hook] 跨进程 Binder 学习指南

    cp from : http://weishu.me/2016/01/12/binder-index-for-newer/ 毫不夸张地说,Binder是Android系统中最重要的特性之一:正如其名“ ...

  4. Linux 进程间通信(IPC)总结

    概述 一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见.本系列文章阐述了 Linux 环境下的几种主要进程间通信手段. 进程隔离 进程隔离是为保护操作系 ...

  5. IPC 之 Binder 初识

    概述 最近在看Android 的 IPC 机制,想要系统的研究一下,然后就走到了 Binder 这里,发现这个东西真是复杂,查看了一下些文章想要记录下.想要自己写但是发现一篇文章已经写的非常好了,就转 ...

  6. 一篇文章了解相见恨晚的 Android Binder 进程间通讯机制【转】

    本文转载自:https://blog.csdn.net/freekiteyu/article/details/70082302 Android-Binder进程间通讯机制 概述 最近在学习Binder ...

  7. Android Binder 进程间通讯机制梳理

    什么是 Binder ? Binder是Android系统中进程间通讯(IPC)的一种方式,也是Android系统中最重要的特性之一.Binder的设计采用了面向对象的思想,在Binder通信模型的四 ...

  8. 快Key:按一下鼠标【滚轮】,帮你自动填写用户名密码,快速登录,可制作U盘随身(开源免费-附安装文件和源代码)

    * 代码以本文所附下载文件包为准,安装文件和源文件包均在本文尾部可下载. * 快Key及本文所有内容仅供交流使用,使用者责任自负,由快Key对使用者及其相关人员或组织造成的任何损失均由使用者自负,与本 ...

  9. github 项目绑定自己的域名

    上周脑子发热申请了自己的一个域名.本想搞一个自己的网站,后来囊中羞涩,数据库,服务器..买不起了,只买个域名,发现啥也搞不成.后来突然想到了不行找个东西映射到这个域名上吧,就想到了github,之前也 ...

随机推荐

  1. ExtJs之工具栏及菜单栏

    先培养一下大概的感觉吧. 基本按书上都弄出来了. <!DOCTYPE html> <html> <head> <title>ExtJs</titl ...

  2. 关于如何使用Navicat(11.1.13) for MySQL如何创建存储过程

    1.ƒ()函数(右键)→新建函数(左键)→过程(选择) 2.会遇到的问题 问题一:因为sql语句默认以;为结束符,所以应该修改结束符,但是这在Navicat(11.1.13) for MySQL中是不 ...

  3. TCP协议RST:RST介绍、什么时候发送RST包

    TCP协议RST:RST介绍.什么时候发送RST包 RST标示复位.用来异常的关闭连接. 1. 发送RST包关闭连接时,不必等缓冲区的包都发出去,直接就丢弃缓冲区中的包,发送RST. 2. 而接收端收 ...

  4. libevent简单介绍

    http://blog.csdn.net/mafuli007/article/details/7476014 1      简介 主页:http://www.monkey.org/~provos/li ...

  5. LoadRunner8 安装步骤

    一.介绍 LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.企业使用L ...

  6. iOS Architecture

    目前ios的指令集有以下几种: armv6 iPhone iPhone2 iPhone3G 第一代和第二代iPod Touch armv7 iPhone4 iPhone4S armv7s iPhone ...

  7. 312. Burst Balloons

    题目: Given n balloons, indexed from 0 to n-1. Each balloon is painted with a number on it represented ...

  8. RedHat7 部署ELK日志分析系统

    一.ELK的组成二.工作流程三.环境准备四.正式安装 一.ELK的组成 ELK由ElasticSearch.Logstash和Kibana三部分组成,每一部分的功能及特点如下图所示: 二.工作流程 在 ...

  9. docker基本概念,创建、起动实例,保存自定义镜像等常用操作

    14年docker火了一阵,当时自学整理了一份文档,后来冷落了. 现在发现很多同事还是想学习docker,但无从下手,所以重新整理了这篇分享,10分钟就可以带你彻底理解docker,并能够创建属于自己 ...

  10. linux 僵死进程

    僵死进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程. 在fork()/execve( ...