十年专注于品牌网站建设 十年专注于品牌网站建设,低调、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

为您介绍使用HTTP首部采集指纹检测拓展的方法

百恒网络 2017-07-26 478

采集目标浏览器指纹的方法很多,而采集扩展指纹也大同小异。确定目标安装了什么扩展非常重要。只有这样,攻击才能更直截了当,并能排除不确定性。

研究人员找到了很多枚举目标可能会使用的扩展的方法。扩展并不会隐瞒它们会增大浏览器攻击面的事实。事实上,有些扩展还会主动告诉你。接下来南昌网络公司小编就为大家介绍一下使用HTTP 首部采集指纹检测拓展的方法。

有的扩展可能会稍微修改一点请求首部,而有的扩展则生怕别人不知道浏览器安装了它们,对请求首部进行重度定制。为了采集扩展指纹,我们需要通过检测目标扩展,来确定请求首部是否被修改过。

为了看出修改,可以捕获安装扩展前后的请求首部加以比较。一比较就能看出不同。别忘了,有些扩展只有激活才会有所不同。下面我们即将展示的FirePHP的例子就是这样的。

另一种检测首部变化的方法是查询扩展源代码。当然,只有Firefox和Chrome扩展是可以查看源代码的,因为它们的安装文件只是简单的包含代码的压缩.zip文件。

对于Chrome扩展,某个视图页面(通常是后台页面)会动态修改请求首部。应该搜索chrome.webRequest.onBeforeSendHeader函数调用。使用这个API需要webRequest权限,因此首先应该检测manifest.json文件,看看是否请求了该权限。如果没有,那么onBeforeSend Headers函数存在与否就无所谓了。

另一种在Chrome扩展中注入自定义首部的方式是在内容脚本里。就是使用标准的XMLHttp Request.setRequestHeader函数发送Ajax请求。搜索这个函数也有助于发现扩展是否在操纵浏览器首部。

对于Firefox扩展,搜索setRequestHeader可以找到修改请求首部的位置。在下面的FirePHP代码中,可以看到该扩展修改了User-Agent请求首部:

httpChannel.setRequestHeader("User-Agent",

httpChannel.getRequestHeader("User-Agent") + ' '+

"FirePHP/" + firephp.version, false);

这行代码让FirePHP扩展在User-Agent请求首部后面追加了FirePHP/,从而表明自己的可用性。正如下面的请求首部所示,要发现这一点非常容易:

GET / HTTP/1.1

Host: browserhacker.com

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:22.0) Gecko/20100101 Firefox/22.0 FirePHP/0.7.1

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

前面Firefox浏览器在请求中发送给Web服务器的HTTP首部被修改了。User-Agent首部字符串后面有FirePHP/0.7.1。这里,不仅可以看到用户安装了扩展,还知道了扩展的版本。

以上就是南昌网络公司小编为大家介绍的关于使用HTTP 首部采集指纹检测拓展的方法,检测拓展的方法不止这一种,还可以用其他方法检测,不过今天小编就不多做介绍了,感兴趣的朋友欢迎继续关注本公司网站动态,后期会为您详细介绍。此外,有想了解关于南昌网站建设、微信开发、APP开发等方面的知识的朋友,可随时来电和我们联系,我们将竭诚为您服务!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×