http劫持

如何区分国内上网环境中不同的人为网络故障

别等时光非礼了梦想. 提交于 2019-12-02 05:42:16
众所周知,在国内上网会遇到各种各样不同的人为网络故障,使得我们无法正常访问很多网站。但由于很多人并不熟悉网络,很多时候会无法区分不同的网络故障,导致明明是网络故障,却认为是服务器故障;或明明是服务器故障,却认为是网络故障的情况。我觉得有必要说明一下不同网络故障的特征,以及区分它们并解决它们的方法。   在国内上网环境中,我们经常遇到的网络故障有:DNS劫持、DNS污染、IP封锁、服务器防火墙IP过滤、服务器宕机、基于关键词的TCP连接重置、无状态的TCP连接重置、SSL证书过滤、SSL劫持、HTTP会话劫持等网络故障。下面我就依次进行说明:    1、DNS劫持   DNS劫持会导致我们访问了一些不存在的或不稳定的网站的时候,访问到的却是电信114搜索(详见月光博客《 断网后互联星空的浏览器劫持 》)或访问Google却显示了Baidu的主页(详见月光博客《 Google博客搜索摇身一变成百度 》)。   如果需要确认自己是否处在DNS劫持的环境中,我们可以在Windows命令行cmd中使用Windows自带的网络诊断工具nslookup查找一个不存在或不稳定的域名进行一下网络诊断:   C:\>nslookup www.SomeRandomDomainName.com   Server: ns-pd.online.sh.cn   Address: 202.96.209.133  

关于互联网流量劫持分析及可选的解决方案

情到浓时终转凉″ 提交于 2019-12-02 05:41:51
1、何为流量劫持 前不久小米等六家互联网公司发表联合声明,呼吁运营商打击流量劫持。流量劫持最直观的表现,就是网页上被插入了一些乱七八糟的广告/弹窗之类的内容或者网址被无辜跳转,多了推广尾巴。比如下面这种: 页面的右下角被插入了广告。 流量劫持总体来说属于中间人攻击(Man-in-the-Middle Attack,MITM)的一种,本质上攻击者在通信两端之间对通信内容进行嗅探和篡改,以达到插入数据和获取关键信息的目的。目前互联网上发生的流量劫持基本是两种手段来实现的: 域名劫持 :通过劫持掉域名的DNS解析结果,将HTTP请求劫持到特定IP上,使得客户端和攻击者的服务器建立TCP连接,而非和目标服务器直接连接,这样攻击者就可以对内容进行窃取或篡改。在极端的情况下甚至攻击者可能伪造目标网站页面进行钓鱼攻击。 一般而言,用户上网的DNS服务器都是运营商分配的,所以,在这个节点上,运营商可以为所欲为。例如,访问http://jiankang.qq.com/index.html,正常DNS应该返回腾讯的ip,而DNS劫持后,会返回一个运营商的中间服务器ip。访问该服务器会一致性的返回302,让用户浏览器跳转到预处理好的带广告的网页,在该网页中再通过iframe打开用户原来访问的地址。 HTTP劫持/直接流量修改 :在数据通路上对页面进行固定的内容插入,比如广告弹窗等。在这种情况下

点击劫持

♀尐吖头ヾ 提交于 2019-12-01 18:56:56
什么是点击劫持: 是一种视觉上的欺骗,攻击者使用一个透明的,不可见的iframe标签,覆盖在一个网页上,诱使用户在该网页上进行操作,用户在不知情的情况下点击透明的iframe页面通过调整iframe页面的位置可以诱使用户恰好点击在iframe页面的的一些功能性按钮上 <! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta http-equiv = "X-UA-Compatible" content = "ie=edge" > < title > click jack </ title > < style > iframe { width : 900px ; height : 250px ; top : -195px ; left : -740px ; z-index : 2 ; -moz-opacity : 0.5 ; opacity : 0.5 ; filter : alpha (opacity= 0.5 ); } button { position : absolute ; top : 10px ; left :

安全性测试入门 (四):Session Hijacking 用户会话劫持的攻击和防御

扶醉桌前 提交于 2019-12-01 05:38:34
安全性测试入门 (四):Session Hijacking 用户会话劫持的攻击和防御 本篇继续对于安全性测试话题,结合DVWA进行研习。 Session Hijacking用户会话劫持 1. Session和Cookies 这篇严格来说是用户会话劫持诸多情况中的一种,通过会话标识规则来破解用户session。 而且与前几篇不同,我们有必要先来理解一下Session和Cookie的工作机制。 实际上要谈论这两个小伙伴,又要先理解http协议的运作机制,这样讨论下去可就篇幅太长了。 我们只需要了解以下事实: http协议是无状态的 就好像两个人用老式的手摇电话机通电话。每一次http请求和数据交换就像这样的一次电话通话过程,当请求完毕以后,再进行下一次请求时,http协议是无法追踪上一则通话记录的。这样每一次用户与服务器的交互都是独立的一次通话,对于一个web应用而言显然是存在问题的,因为用户的请求十有八九具有连续性。就比如一个用户在商城添加了某商品到购物车,当他去结账时,又是一次新的请求,他的购物车http协议仅仅通过连接状态是无法追踪的! Session:来来来 给你分配个号码牌 为了解决用户的接续访问问题,一个简单的想法就是,将每一次用户与服务器之间的持续通话做为一个“会话”存放在服务器端。 当用户第一次打call进来的时候,你先别说话,先给你个小牌牌

http劫持

安稳与你 提交于 2019-12-01 01:19:16
作者:易心玄 链接: http://www.zhihu.com/question/24484809/answer/70126366 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。 第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。 第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。 第三步, 客户端浏览器生成https通信用的对称密钥, 用fiddler伪造的证书公钥加密后传递给服务器, 被fiddler截获。 第四步, fiddler将截获的密文用自己伪造证书的私钥解开, 获得https通信用的对称密钥。 第五步, fiddler将对称密钥用服务器证书公钥加密传递给服务器, 服务器用私钥解开后建立信任, 握手完成, 用对称密钥加密消息, 开始通信。 第六步, fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次加密, 发送给客户端浏览器。 第七步, 客户端向服务器发送消息, 用对称密钥加密, 被fidller截获后, 解密获得明文。 由于fiddler一直拥有通信用对称密钥,

用js屏蔽被http劫持的浮动广告实现方法

百般思念 提交于 2019-11-30 08:22:59
网站经常在右下角弹出一个浮动广告,开始的时候以为只是浏览器的广告。 后来越来越多同事反映在家里不同浏览器也会出现广告。然后深入检查了下,发现网站竟然被劫持了。 然后百度了一大堆资料,什么http劫持、dns劫持、运营商劫持之类的,确定真的是中招了。看图: 真是偷梁换柱啊,被插入广告代码了。真是无良奸商,什么都做得出。 然并卵,最重要的解决办法是啥?然后把问题扔给了运维的同事。 最终结果是解决不了。没错,就是这么的坑爹。除非采用https。网上那些什么打电话、发信投诉之类的貌似没啥用。可能是运维太烂了。反正结果就是没结果。 然后,没办法啦。只能我们大前端自己想办法屏蔽啦。 然后开启了研究劫持代码之旅, …过程省略了800字寻找过程。 最终发现了,被劫持的广告会定义一个js全局变量_pushshowjs_ ,里面保存了一些劫持广告的相关信息,然后创建一个id为_embed_v3_dc的div放广告。并且每次都是一样的,不会有变化。 根据劫持广告的投放原理,最终使用了js屏蔽被劫持广告的方法。 具体代码如下: ;(function($, window, undefined) { var needClear = false, timeout; if(window._pushshowjs_) { console.log("adHttp"); needClear = true; }

怎么去应对解决网站域名劫持呢?

荒凉一梦 提交于 2019-11-30 02:44:23
  在win7系统下,想要在第一时间检测出自己的网站被劫持该怎么做?   IIS7网站监控   检测网站是否被劫持、域名是否被墙、DNS污染等信息。   域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器,或伪造域名解析服务器的方法,把目标网站域名解析到错误的地址而实现用户无法访问目标网站的目的。   域名劫持的危害:   一方面可能影响用户的上网体验,用户被引到假冒的网站进而无法正常浏览网页,而用户量较大的网站域名被劫持后恶劣影响会不断扩大;另一方面用户可能被诱骗到冒牌网站进行登录等操作导致泄露隐私数据。   应对措施:   1.在不同的网络上运行分离的域名服务器来取得冗余性。   2.将外部和内部域名服务器分开并使用转发器。外部域名服务器应当接受来自几乎任何地址的查询,但是转发器则不接受。它们应当被配置为只接受来自内部地址的查询。关闭外部域名服务器上的递归功能(从根服务器开始向下定位DNS记录的过程)。这可以限制哪些DNS服务器与Internet联系。   3. 可能时,限制动态DNS更新。   4. 将区域传送仅限制在授权的设备上。   5. 利用事务签名对区域传送和区域更新进行数字签名。   6. 隐藏运行在服务器上的BIND版本。   7. 删除运行在DNS服务器上的不必要服务,如FTP、telnet和HTTP。   8. 在网络外围和DNS服务器上使用防火墙服务

网页被劫持会带来的影响是什么?

半城伤御伤魂 提交于 2019-11-30 00:37:26
  不同的劫持方式,获得的流量也有所差异。DNS 劫持,只能截获通过域名发起的流量,直接使用 IP 地址的通信则不受影响;只有浏览网页或下载时才有风险,其他场合则毫无问题;而网关被劫持,用户所有流量都难逃魔掌。   如果怀疑自己的网页别劫持了?该怎么去确定这个疑问?   iis7网站监控   网站的劫持、污染、打开速度等消息可检测。   为什么喜欢劫持网页?   理论上说,劫持到用户的流量数据,也就获得相应程序的网络通信。但在现实中,数据并不代表真实内容。一些重要的网络程序,都是私有的二进制协议,以及各种加密方式。想通过流量来还原出用户的聊天信息、支付密码,几乎是不可能的。即使花费各种手段,破解出某个程序的通信协议,然而一旦程序升级改变了协议格式,或许就前功尽弃了。因此,很难找到种一劳永逸的客户端劫持方案。   然而,并非所有程序都是客户端的。一种新兴的应用模式 —— WebApp,发展是如此之快,以至于超越客户端之势。在如今这个讲究跨平台、体验好,并有云端支持的年代,WebApp 越来越火热。各种应用纷纷移植成网页版,一些甚至替代了客户端。同时,也造就了流量劫持前所未有的势头。   WebApp,其本质仍是普通的网页而已。尽管网页技术在近些年里有了很大的发展,各种新功能一再增加,但其底层协议始终没有太大的改进 —— HTTP,一种使用了 20 多年古老协议。   在 HTTP 里

Web安全入门

你离开我真会死。 提交于 2019-11-29 21:31:00
最近项目涉及到安全方面,自己特意了解了一下,记录在此,共同学习。 常见的web安全有以下几个方面 同源策略(Same Origin Policy) 跨站脚本攻击XSS(Cross Site Scripting) 跨站请求伪造CSRF(Cross-site Request Forgery) 点击劫持(Click Jacking) SQL注入(SQL Injection) 同源策略 含义 所谓同源策略,指的是浏览器对不同源的脚本或者文本的访问方式进行的限制。比如源a的js不能读取或设置引入的源b的元素属性。 所谓"同源"指的是"三个相同" 协议相同 域名相同 端口相同 举例来说,http://www.example.com/dir/page.html 这个网址,协议是 http:// ,域名是 www.example.com ,端口是 80(默认端口可以省略)。它的同源情况如下 http://www.example.com/dir2/other.html:同源 http://example.com/dir/other.html:不同源(域名不同) http://v2.www.example.com/dir/other.html:不同源(域名不同) http://www.example.com:81/dir/other.html:不同源(端口不同) 目的 同源政策的目的

怎么防止http劫持问题?

前提是你 提交于 2019-11-29 18:52:42
  如何知道http被劫持?   iis7网站监控   检测网站是否被劫持、DNS污染检测、网站打开速度检测等信息。   基于 HTTP 的流量劫持,大家应该是比较熟悉了。特别是对于 Web 前端,一般大家说起流量劫持,首先能想到的就是这种。原理上我就不多介绍了,基本上就是因为 HTTP 属于明文协议,中间链路上的任意设备,都可以篡改内容,导致流量劫持。   HTTPS 的劫持与防治   HTTP 的流量劫持,除了上面列出来的一些方案,其实还有很多特定场景下的方案。例如我曾经见过百度的同学给出的一种方案,是在 HTML 前面增加一大段注释后的代码,诱骗攻击者在注释内进行资源改动。但归根结底,这些方案是经不住考验的。比较理想的方案还是迁移到 HTTPS 上。   HTTPS 相关的流量劫持   HTTPS 本身其实已经比较安全了,这归功于前面所说的 TLS 协议。但也不代表我们可以完全不关注 HTTPS 的安全问题。在 HTTPS 出现的这些年里, SSL/TLS 的安全问题其实也是不绝于耳的,这里我提两个相对经典的案例来给大家展示一下安全的协议是如何不安全的。   防御 HTTPS 流量劫持   针对 SSL/TLS 攻击的尝试其实从未停止过,未来也不会就此罢休。除了上面列出的两种经典攻击之外,还有很多相似的案例。在防御 HTTPS 流量劫持上,除了使用 HTTPS 之外