最近有刷网课的需求,又因为greasyfork被墙了,就找了个镜像网站:greasyfork-zh.***,里面排名第一的就是这个fcq全网自动答题器,安装上用了一下,直接震惊我了,页面刚打开,笔记本风扇就狂转不停,于是我抓包看了一眼,不看不知道,一看吓一跳

仅仅是登陆进来一下,脚本在后台就请求了数十个页面,然后上传了大量数据到第三方服务器,这是刷课脚本该做的事吗?
接着往下查,发现如下代码:

脚本通过eval执行了gm_value的代码,在脚本猫页面查看这个值,发现是大量js代码:

这个已经完全违反了greasyfork的脚本规则,禁止动态执行代码,很显然,他并没有在greasyfork发表,他只在这个镜像站和脚本猫发布了,脚本ID2415,希望脚本猫查一查。

到此为止,我觉得还可以接受,毕竟你支持那么多网课,动态加载可以避免频繁更新脚本,但是当我浏览其他页面的时候,发现脚本仍然有弹窗:

这时候我才发现,这个脚本有去广告功能,挺人性化的,但是再抓包发现不对,脚本向第三方服务器发送了一些信息,抓一抓看看:

其中wallData参数是加密数据,再抓一抓其他页面,为什么每访问一个页面,脚本就会向第三方服务器发送一个数据,发送的是什么,解密看看:
在脚本的7078行添加代码:
codeInfo.code = codeInfo.code.replace('(real_data, key)','(real_data, key);alert(real_data)')
让他在每次发送数据之前通过alert展示加密前的数据明文:

可以看到上传了当前页面的标题和url,你如果说是用于去广告需求,也勉强可以接受,抓一抓其他页面:

可以看到同样上传了网页标题和url,这是什么意思?网页标题里面也有广告?我看了什么视频你也知道?如果url参数里面有敏感信息呢。
好的,接下来试试其他网页:

支付宝也上传了

中国建设银行也没有幸免,看一看脚本代码:

脚本的match是全匹配,也就是说,脚本会在任何网页页面直接运行并且上传你的网页链接和网页标题,这不就是浏览器历史记录?
你脚本有去广告功能,但我看其他去广告脚本也没拼命地上传浏览器历史记录啊,你的服务器能顶住这么大的流量吗,还是说你已经开始利用用户隐私开始盈利了。
我不是js逆向专家,但我知道,脚本的恶意代码全是动态加载,随时可以删除证据然后拒不承认,greasyfork为什么明令禁止动态加载,就是为了保留证据,脚本支持这么多功能,为什么不发布到greasyfork上去呢?是不喜欢吗?
帖子写到这里,我才意识到。你的脚本上传了每个页面的url和标题,当你看到这篇文章的时候,去服务器查一下日志,是不是就能把我的浏览器历史记录全调出来了,然后就能找到谁写的这篇文章,看我的ip,甚至我登录论坛填写的邮箱也能看到啊?我在公司上班,我的公司办公系统的记录你也拿走了?你管的比警察还宽啊,我已经把脚本反馈给公司技术和河南网警了,我给了他们身份证,填了记录,看看你敢不敢把他们的浏览器记录偷出来。