Code前端首页关于Code前端联系我们

CDN、DNS劫持网络跳转、排查及分享解决方案经验

terry 2年前 (2023-09-28) 阅读数 90 #Web安全

https://www.sojson.com被劫持。一开始我没有注意到,但有些地区的用户发现,当他们打开sojson.com或在百度搜索关键字sojson时,他们跳转到了搜狗。

我们来看一张跳跃照片:

CDN和DNS劫持网络跳转,排查及解决经验分享

同时观看视频:

感谢@gansu|java|逝月的视频。

我们可以看到,点击某个页面会进入搜狗,关键词是“json”。

抓包并查看头信息:

www.sojson.com初始请求:

  1. 请求URL:https://www.sojson.com/
  2. 请求方法:GET
  3. 状态码:200(来自磁盘缓存)
  4. 远程地址:123.132.254.145:443
  5. 引用者Policy:降级时无引用
  6. 年龄:1077
  7. 缓存 - 检查:最大-age= 7200
  8. 内容编码:br
  9. 内容类型:text/html
  10. 日期:2018年4月13日星期五07:48:32 GMT
  11. 到期:2018年4月13日星期五09:30:35 GMT
  12. 服务器:marco/2.0
  13. 状态:200
  14. varie:接受编码
  15. via:S.mix-sd-dst-036,T.43.H,V .mix-sd-dst-040,T.139.H,M.cun-sd-lyi1-139
  16. x-请求-id:64e8891e3fafd7c83206d4f897b4ddbb; fc4ef7cb4b954412c8a0710df20d9ab5
  17. x 源:C/200
  18. 显示初步标头
  19. 升级不安全请求:1
  20. 用户代理:Mozilla/5.0(Windows NT 10.0;WOW6 4)Apple WebKit/537.36(KHTML ,像Gecko)Chrome/65.0.3325.181 Safari/537.36

第二次跳转到(adg.payud.com):

  1. 请求URL:http://adg.payud.com /sogou_pc .php?flag=0&kw=json
  2. 请求方法:GET
  3. 状态编码e: 200 OK
  4. 外部地址:113.10.139.224:80
  5. 推荐人Policy:降级时不推荐
  6. 连接:keep-alive
  7. 内容编码:gzip
  8. 内容类型:text/html
  9. 日期:2018年4月13日星期五08:04:25 GMT
  10. 编译指示:无缓存
  11. 服务器:nginx/1.0.15
  12. 传输编码:分块
  13. 变化:接受编码
  14. X- 技术支持:PHP/5.2.17p1
  15. 接受:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,* /*;q=0 ,8
  16. 接受编码: gzip, deflate
  17. 接受语言: zh-CN,zh;q=0.9
  18. 连接: keep-alive
  19. 主机: adg.payud.com
  20. 升级- 不安全请求:1
  21. 用户代理:Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/65.0.3325.181 Safari/537.36
  22. 标志:0
  23. kw : json

第三次飞跃(www.sogou.com)

  1. 请求网址:https://www.sogou.com/sogou?pid=sogou-site-9cd013fe250ebffc&ie=utf-8&query =json
  2. 请求方法:GET
  3. 状态码:200 OK
  4. 外部地址:58.250.125.49:443
  5. 推荐人Policy:unsafe-url
  6. Cache-Con巨魔:max-age=0
  7. 连接:保持活动
  8. 内容编码:gzip
  9. 内容类型:text/html; charset=utf-8
  10. 日期:2018年4月13日星期五08:04:25 GMT
  11. 到期:2018年4月13日星期五08:04:25 GMT
  12. 服务器:nginx
  13. set- cookie:black_passportid=1;域名=.sogou.com;路径=/;过期 = 1994 年 12 月 1 日星期四 16:00:00 GMT
  14. set-cookie: ld=Klllllllll2z1pRylllllVryBw6llllll0GMO1kllll1lllllRylll5@@@@@@@@@@;路径=/;过期=2018 年 5 月 13 日星期日 08:04:25 GMT; domain=.sogou.com
  15. 传输编码:分块
  16. 变化:接受编码
  17. x_ad_pagesize:adpagesize=7622
  18. 接受:text/html、application/xhtml+xml、application/xml;q =0.9 ,image/webp,image/apng,*/*;q=0.8
  19. 接受编码: gzip, deflate, br
  20. 接受语言: zh-CN,zh;q=0.9
  21. 连接: keep -alive
  22. Cookie:ABTEST=0|1523605712|v17; SNUID=E493F8BB36335F812E71720F37BF314B; SUID=D2A5CF8C4F18910A0000000 05AD060D0;浏览器V=3; osV=1; SUV=000D53928CCFA5D25AD060D1BAD50261; IPLOC=CN3100; ld= vZllllllll2z1pRylllllVryYMyllllll0GMO1kllllZllllllRylll5@@@@@@@@@
  23. 主机:www.sogou.com
  24. 参考:http://adg.payud.com/sogou_pc.php?flag=0&kw=json
  25. 升级不安全-请求:1
  26. 用户代理:Mozilla/5.0(Windows NT 10.0;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/65.0.3325.181 Safari/537.36
  27. pid:sogou-site-9cd013fe250ebff c
  28. ie:utf-8
  29. query:json

通过CDN获取到的CDN缓存内容如下:

CDN和DNS劫持网络跳转,排查及解决经验分享

仔细看应该能明白,返回的是一个js,正在被直接刷新到上面第二个网址然后跳转到搜狗

过程就这么简单,这下确认了,100%被劫持了。但这不一定是 DNS 劫持。

答案:

1。看到这里有人会疑惑:HTTPS不就解决劫持了吗? sojson 不是 HTTPS 站点吗?所以为什么?

这个问题问得很漂亮,我来回答一下:首先HTTPS是通过嵌入JS来防止劫持的,就是当你请求一个页面的时候,DNS恶心的厂商会在里面加一段js,还有广告通常会出现这样的情况。在移动端,PC不太常见,但博客园在某个时候已经出现了。这通常是通过 https 解决的。

2。这是怎样的劫持?

这种域名劫持直接拦截你的域名并立即返回其内容,然后就是上图中恶心的内容。这个https没啥用。

3。怎么解决呢?

首先告诉你,其实没有办法,就是太恶心了。您只能向电网运营商发送律师函。很多网络运营商和CDN厂商相互勾结,因为这个利益链非常大。

感谢群里热心网友:@北京|java|lsp @杭州|java|Mr. Zhou@Guangdong|Java|Hello @Shanghai|Java|Ever @Gansu|Java|逝月@Shanghai|Java|ETFOX 等等,感谢您帮助解决问题。

DNS劫持的几张图

1. DNS域名拦截方法

CDN和DNS劫持网络跳转,排查及解决经验分享

2. DNS添加脚本方法

CDN和DNS劫持网络跳转,排查及解决经验分享

3.混合方式CDN+网络运营商(这就是今天SOJSON遇到的)

CDN和DNS劫持网络跳转,排查及解决经验分享

这样CDN直接缓存被劫持的脚本。

对此我们无能为力。我们看一下CDN厂商的回应:

您好,这绝对不是我们和网络服务商造成的。如果出现这样的问题,我们的CDN在某种程度上也是受害者。此外,我们没有理由将您劫持到搜狗而不是其他对我们有利的网站。您目前遇到的劫持类型应该是DNS层劫持,所以https方案可能无法解决您的问题。

我希望您刚刚配置的内容有一些用处。如果劫持返回的内容类型是静态文件,则默认情况下会被我们的 CDN 缓存。这样的话,可以扩大你的势力范围,所以有一定的作用。

我们目前缺乏劫持的直接证据。以后也可以观察一下。如果再次发生,您可以随时联系我们。我们一定会帮助您向网络运营商强烈反馈,要求停止劫持行为。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门