DNS劫持和HTTP劫持的区别和解决方法

电子说

1.3w人已加入

描述

众所周知,网络劫持共分为两大类:DNS劫持和HTTP劫持。那么它们到底是什么意思,有什么不同之处呢?

DNS劫持

大部分网站都需要用到CDN,使用CDN加速后,源站IP被隐藏,用户通过访问最近节点,浏览网站内容,以达到网站被加速的目的。这个过程其实也可以说是DNS劫持的过程。

与恶意DNS劫持不同的是,CDN服务商的目的是友好的,加速也经过网站管理员同意,我们经常说的DNS劫持,均指恶意的DNS劫持。

DNS

一般DNS解析流程是用户走localdns,通过运营商提供的递归DNS解析,通常的DNS劫持就发生在这一层。

DNS

当网站发生DNS劫持后,用户输入网址,不再跳转到原来的页面,而是被攻击者指向一个特定的页面。通俗的说,用户输出google.com后,回车打开的,却是百度搜索的页面,这就是DNS劫持的典型案例。

DNS劫持有三种后果:

域名被错误解析,网页跳转到纠错导航页,导航页被植入恶意广告。

错误域名解析到非正常页面。

直接被解析到攻击者指定的站点或广告页面。

DNS被劫持,用户无法正常浏览内容,甚至可能因此上当受骗,严重影响用户体验和网站业务的开展。

HTTP劫持

HTTP劫持相对于DNS劫持温和一些。在服务器与客户端进行数据传输时,攻击者伪装成服务器,响应客户端请求,从而抛弃真正服务器的数据传输。

DNS

当网站遭受HTTP劫持时,同样会造成一些后果:

出现3xx重定向跳转;

JS内容被篡改;

html内容被篡改;

这样一来,目标网站会出现弹窗广告、页面广告等多种广告形式,或者网站的一些内容被黑客修改,用于达到某种目的。

怎么防止网站被劫持?

防止网站被劫持,有两种思路。

对客户端和服务器的数据传输进行加密

隐藏http请求的特征

对客户端和服务器的数据传输进行加密的终极解决办法,是安装ssl证书,将站点从http升级为https,因为https协议会对数据传输进行加密,攻击者也就无法拦截它们之间的数据传输,从而进行劫持了。

另外一种是对URL进行加密,对URL进行加密后,用户向CDN节点发起请求,C再由CDN节点进行解密,获取真实的URL链接并响应给用户。

以上就是两种劫持方式的简单介绍了。随着ssl证书的普及,对http和DNS进行劫持的案例越来越少,但因为攻击者技术也在不断革新,所以不能忽略它们对网站的影响,应当重视起来。
责编AJX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分