在咱们日常的日子中,浏览器扮演了一个更加重要的人物。跟着WEB使用的开展,咱们开端把最私密的数据放到如Facebook、Amazon或许Gmail等在线服务平台上。
这样的大趋势使得咱们的在线服务更需要做好安全,有必要使用上HTTP-only机制和双因子认证技能等等。可是,其实还有个环节或许没有引起太大注重,那便是浏览器插件。好像大部分人都没意识到,浏览器插件的安全有多重要,由于杀软在这儿起的效果不会很大。
在这篇文章中,笔者将共享身边一个感染歹意插件的事例。此前笔者犹疑了好久,究竟要不要放出完好的代码。最终,为了防止歹意软件的传达,笔者仍是抛弃了。
但笔者仍是想展现这个歹意软件的功用,所以在其间提取了部分代码,而且移除了一些不相关的代码。此外笔者声明,代码中详细的歹意行为与笔者无关。
事发从Facebook开端
在Facebook的新闻feed里,笔者注意到其间一个朋友总是重视一些不堪入目的网页链接。而现在Facebook里边,这类诱人点击内容的链接,其实并不算罕见。但笔者注意到一点,那个朋友总是会重视同一类的链接,而那些链接总重视量大约有900个,可是下方并没有任何谈论。而且,链接曩昔的主页有30个左右的重视。更奇怪的是,该主页的发的每个状况会重复25遍。
可是据笔者了解,那位朋友是个聪明的家伙,正常来讲不应该天天发这种垃圾东西。出于猎奇,笔者决议去研讨下这究竟是怎么回事。
拜访该主页会看到一些链接,在点开还没有看到的实践内容的时分,它就要求验证笔者的年纪。到这儿其实还没啥问题,可是它这个验证,居然是要笔者去装置一个Chrome插件。
该插件来自于一个叫viralands.com的网站,笔者大约搜索了下相关到这个网站的插件,大多都是一类的东西。当然,现在这些插件现已被移除,其时那些插件大约有132265位下载用户。
笔者决议在做其他工作之前,先看下该插件的代码。
可疑的插件
笔者在研讨插件时,找了一个不错的切入点,也便是manifest.json文件。这其实是一个元数据文件,其间包含了姓名、描述、版本号以及权限的等等信息。
大约看了下,该插件的权限如下:
{
"permissions":[
"storage",
"",
"tabs",
"webNavigation",
"alarms"
]
}
在装置Chrome插件时,谷歌会有以下正告:
确认增加 “ViralContent Age Verify”插件?
它将会:
读取和更改你拜访的网站流量。
其实到了这儿,咱们现已很明显能看出不对劲了,这并不是一个校验年纪的插件。
假如咱们继续看文件,咱们会发现以下的代码:
{
"background":{
"scripts":[
"scripts/query-string.js",
"scripts/install.js",
"background.js"
],
"persistent":true
},
"content_security_policy":"script-src blob: filesystem: chrome-extension-resource: 'self''unsafe-eval'; object-src 'self'"
}
在这段代码里,它会一向运转三个 *** 脚本(不会被间断),这足以让黑客继续从浏览器里截取而且存储数据,而且在不安全的环境下履行存储的代码。让咱们看看下面这三个 *** 脚本:background.js、query-string.js以及install.js,查看下它们是否可以印证咱们的置疑。
[1] [2] [3] [4] [5] 黑客接单网
· 去中心化加密钱银买卖所Bancor于7月9日遭到黑客进犯,总计24,984 ETH、320万BNT、2.29亿NPXS被黑客盗取,总价值约2350万美金。 买卖所随即暂时封闭并在之后的53小时内宣...
|仿制代码------------------------------------------------------------#https://github.com/spinkham/skipfi...
尽管我们可以讨论这些稽查到的主机是否可以被攻击者真实利用,并且可以分析这些主机的补丁状态、网络分段等,但众所周知,许多公司仍然在运行易受攻击的Windows版本,并且修复周期对于这些系统来说可能更难。...
SDC https://portal.msrc.microsoft.com/en-us/security-guidance/acknowledgments关于需要开始ssl模块说明:我在微信群赌博输了...
1、防止在过错中显现Apache版别和操作体系的IDis_writeable()函数官方阐明:假如文件 filename 存在而且可写则回来 TRUE。 即install.lock文件并没创立成功...
if (data[0] == 's') { $("#i_msg").val(''); $("#sendstatus").attr('class', 'text-success').text('Mess...