这两天浏览网页经常发现右下角有广告,包括我自己的网站,我觉得肯定是被劫持了,但是并不清楚是运营商劫持的还是下了恶意软件,不过我觉得后者可能性不大,我用的是 Mac OS ,也基本上没装什么第三方软件
问题来了,那么到底有没有方法能判断是否是运营商劫持?
PS :相关代码
1
ykqmain 2015-12-30 10:05:22 +08:00
我有三次遇到过这种情况,都是在自己的网页下,右下角,点开都是以 api 开头的一个网址,广告。
我的网页非常简单,只有 HTML ,看代码是没有问题的。 我也想知道是什么原因,是电信的可能性很大。 |
2
test1199 2015-12-30 10:18:22 +08:00
你是什么运营商?
在什么地方啊 |
4
h4x3rotab 2015-12-30 12:23:55 +08:00 via iPhone
找个 http 调试工具,重发浏览器的 http 请求,再看收到的源码有没有被加入后门,这样可以确保劫持不是发生在浏览器上
|
5
libook 2015-12-30 14:50:19 +08:00 1
根据你的情况,我见到过的运营商劫持的形式如下,有更多的欢迎补充:
1. 运营商直接将传输中的 html 篡改,加入广告代码 2. 运营商劫持某些前端库的 dns ,指向精心构造的广告插件代码 这个判断起来确实不容易,但是我知道如何防范: 1. 使用 HTTPS 协议,点对点加密,运营商没有私钥,所以无法解析和篡改数据 2. 所有第三方库本地化(用 bower 之类的下载下来),然后再做静态资源 CDN 镜像(解决网络优化和流量压力) |
6
ijimmy 2015-12-30 15:31:44 +08:00
直接 curl -v 链接地址 多试几次,就可以判断了。据我所知目前百度统计和 cnzz 统计都被劫持到了 http://www.top616.com/baidujs/jsnew/DAWEIA1.js 这个地址,直接用的 302 跳转,不是 dns 劫持,因为 curl 信息返回的链接地址是正确的。
附测试结果: curl -v http://s14.cnzz.com/stat.php\?id\=xxxxxxxx\&web_id\=xxxxxxxx\&show\=pic * Trying 218.63.99.155... * Connected to s14.cnzz.com (218.63.99.155) port 80 (#0) > GET /stat.php?id=2273190&web_id=2273190&show=pic HTTP/1.1 > Host: s14.cnzz.com > User-Agent: curl/7.43.0 > Accept: */* > < HTTP/1.1 302 Moved Temporarily < Location: http://www.top616.com/baidujs/jsnew/DAWEIA1.js * no chunk, no close, no size. Assume close to signal end < * Closing connection 0 |
7
ijimmy 2015-12-30 15:32:41 +08:00
额,上面说错了一句,“因为 curl 信息返回的链接地址是正确的” 应该是 “因为 curl 信息返回的 IP 地址是正确的”
|
8
mkeith 2015-12-30 15:33:38 +08:00
右键查看源代码啊?插件修改的这里就不会有了啊
|