ChromeSnifferPlus 插件疑似恶意采集用户访问信息

2016-01-06 10:20:05 +08:00
 zwbai

ChromeSnifferPlus 是国人开发的一款开源网站探测插件,可以探测正在使用的开源软件或者 js 类库,在国内外都有一定的使用群体
该插件会一定条件下把用户访问过的 url 地址,秘密发送到一个美国服务器
服务器 URL 地址为

http://jjc.link/status/v2

wireshark 抓包

POST /status/v2 HTTP/1.1
Host: jjc.link
Connection: keep-alive
Content-Length: 1126
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36
Origin: chrome-extension://modoldoikofeihcogpldkollonflkdic
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8

ld=%7B%22http%3A%2F%2Fqunaer.com%2F%22%3A%22%7B%5C%22libs%5C%22%3A%5C%22%7B%5C%5C%5C%22%E7%99%BE%E5%BA%A6%E7%BB%9F%E8%AE%A1%5C%5C%5C%22%3A-1%2C%5C%5C%5C%22jQuery%5C%5C%5C%22%3A%5C%5C%5C%221.9.1%5C%5C%5C%22%2C%5C%5C%5C%22jQuery%20UI%5C%5C%5C%22%3A%5C%5C%5C%221.10.3%5C%5C%5C%22%2C%5C%5C%5C%22PHP%5C%5C%5C%22%3A%5C%5C%5C%225.2.17p1%5C%5C%5C%22%2C%5C%5C%5C%22nginx%5C%5C%5C%22%3A-1%7D%5C%22%2C%5C%22add_time%5C%22%3A1451980052484%7D%22%2C%22http%3A%2F%2Fwww.sogou.com%2F%3Frfrom%3Dsoso%22%3A%22%7B%5C%22libs%5C%22%3A%5C%22%7B%5C%5C%5C%22jQuery%5C%5C%5C%22%3A%5C%5C%5C%221.11.0%5C%5C%5C%22%2C%5C%5C%5C%22nginx%5C%5C%5C%22%3A-1%7D%5C%22%2C%5C%22add_time%5C%22%3A1451979843360%7D%22%2C%22http%3A%2F%2Fwww.sogou.com%2Fweb%3Fquery%3Dmanager%26_asf%3Dwww.sogou.com%26_ast%3D%26ie%3Dutf8%26pid%3Ds.idx%26cid%3Ds.idx.se%26rfrom%3Dsoso%26unc%3D%26w%3D01019900%26sut%3D1368%26sst0%3D1451979849303%26lkt%3D7%252C1451979847939%252C1451979849111%22%3A%22%7B%5C%22libs%5C%22%3A%5C%22%7B%5C%5C%5C%22jQuery%5C%5C%5C%22%3A%5C%5C%5C%221.11.0%5C%5C%5C%22%2C%5C%5C%5C%22nginx%5C%5C%5C%22%3A-1%7D%5C%22%2C%5C%22add_time%5C%22%3A1451979854478%7D%22%7DHTTP/1.1 200 OK
Server: nginx
Date: Tue, 05 Jan 2016 07:47:35 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Content-Encoding: gzip

14
....................
0

数据包解密内容

ld={"http://qunaer.com/":"{\"libs\":\"{\\\"百度统计\\\":-1,\\\"jQuery\\\":\\\"1.9.1\\\",\\\"jQuery UI\\\":\\\"1.10.3\\\",\\\"PHP\\\":\\\"5.2.17p1\\\",\\\"nginx\\\":-1}\",\"add_time\":1451980052484}","http://www.sogou.com/?rfrom=soso":"{\"libs\":\"{\\\"jQuery\\\":\\\"1.11.0\\\",\\\"nginx\\\":-1}\",\"add_time\":1451979843360}","http://www.sogou.com/web?query=manager&_asf=www.sogou.com&_ast=&ie=utf8&pid=s.idx&cid=s.idx.se&rfrom=soso&unc=&w=01019900&sut=1368&sst0=1451979849303&lkt=7%2C1451979847939%2C1451979849111":"{\"libs\":\"{\\\"jQuery\\\":\\\"1.11.0\\\",\\\"nginx\\\":-1}\",\"add_time\":1451979854478}"}

经过多次抓包,发现服务器返回值都为 14/0,所以基本可以判断不是云查询类功能

作者在 github 的开源地址为

https://github.com/justjavac/ChromeSnifferPlus

代码不多,经过排查,发现窃取信息的 js 为

https://github.com/justjavac/ChromeSnifferPlus/blob/master/js/api.js

代码片段

var url = 'http://jjc.link/status/v2';

        if (localStorage.length === 0) {
            return;
        }

        var data = "ld=" + encodeURIComponent(JSON.stringify(localStorage));

        xhr('POST', url, data, function(data, status, response){
            callback();
        });

该插件会把访问过的 url 都归类发往 jjc.link 服务器,根据网站的验证方式不同,可能会泄露的隐私

暂时不知作者收集这些信息的目的,请使用 ChromeSnifferPlus 的用户多加小心

3407 次点击
所在节点    分享发现
19 条回复
Ellison
2016-01-06 11:45:28 +08:00
@justjavac
直接圈作者啊
zwbai
2016-01-06 13:09:57 +08:00
奇怪我文章首页显示为什么会显示一天前呢
Tink
2016-01-06 13:13:51 +08:00
关注
Tink
2016-01-06 13:14:02 +08:00
@zwbai 下方又个置顶
oott123
2016-01-06 13:18:16 +08:00
居然发送 localStorage ,这地没法洗了吧。
没听说过什么统计脚本要统计 localStorage 的。
mcone
2016-01-06 19:46:20 +08:00
好奇怪的访问 不懂 bd
coolzilj
2016-01-07 13:20:13 +08:00
作者已回复, https://github.com/justjavac/ChromeSnifferPlus/issues/58
这理由…接受不了把 localstorage 发送给别人,已卸
justjavac
2016-01-07 16:25:24 +08:00
所有代码都是开源的,大家可以审视
ooTwToo
2016-01-07 16:26:26 +08:00
wappalyzer 不知有没有这个问题
xbflrghc
2016-01-07 16:30:58 +08:00
这个不是开源的吗?到底收集了啥,看看不就知道了吗?
xbflrghc
2016-01-07 16:32:35 +08:00
@oott123
@coolzilj

插件只能访问插件记录的 localstorage ,这个应该不是发送了用户浏览器的 localstorage
xbflrghc
2016-01-07 16:52:57 +08:00
@ooTwToo https://github.com/AliasIO/Wappalyzer/blob/master/src/drivers/chrome/js/driver.js#L208_L242

wappalyzer 的源码

w.driver.post('https://ad.wappalyzer.com/log/wp/', w.adCache);

xhr.send('json=' + encodeURIComponent(JSON.stringify(data)));
justjavac
2016-01-07 17:03:06 +08:00
@coolzilj

"这理由…接受不了把 localstorage 发送给别人,已卸"

有必要解释一下了。不要代码片段而断章取义。我没有把 localstorage 发给别人,也没有访问用户的任何 localstorage 信息。

这个文件的代码运行在 background ,而 background 的代码是无法访问页面的,只能访问插件。这里的 localstorage 是插件为了存储探测到的信息而使用的。然后把信息发送到分析服务器。
ooTwToo
2016-01-07 17:44:34 +08:00
@xbflrghc 啊好吧,并没有把上传全部的 localstorage 。
oott123
2016-01-07 18:17:59 +08:00
好吧,如果是插件自己的 localStorage ,问题不大。

不过好在我也没用,哈哈哈(
zwbai
2016-01-07 18:26:57 +08:00
安装插件后,访问所有网站都会默认开启网站探测,发送插件自己的 localStorage ,意味着用插件期间访问什么还是发什么啊,也就是发送所有浏览记录,原来 360 云采集信息泄露, get 方式的验证密码的也是很多。。
zwbai
2016-01-07 18:38:56 +08:00
@xbflrghc @oott123 @justjavac 因为是个全局插件,全 url 地址采集,泄露敏感信息肯定是不可避免的,比如我看个小黄片啥的..隐私泄露具体可搜索 "360 隐私泄露门的演变时间表"做参考
oott123
2016-01-07 19:55:25 +08:00
@zwbai 这确实是会导致隐私泄漏问题,然而比上传 localStorage 的危害小多了。
#反正我也不用#
另外看更新记录,已经增加了选项去掉这个功能。
oott123
2016-01-07 19:56:52 +08:00
@oott123 看错了,是“将要”增加,不是“已经”增加。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/248684

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX