经典案例
  • 嘉兴网站建设-嘉兴禾美美容
  • 嘉兴网站建设,专业建站服务商
  • 嘉兴网站建设,高端网站的制作者
  • 嘉兴网站建设,没有什么不可能
  • 嘉兴网站建设,网站的定义
行业资讯

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

发布于:2017-8-3 9:58:39来源:嘉兴网站建设​:www.win-shang.com作者:点击:

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

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

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

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

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

       对于Firefox扩展,搜索setRequestHeader可以找到修改请求首部的位置。在下面的FirePHP代码中,可以看到该扩展修改了User-Agent请求首部:嘉兴网站建设:www.win-shang.com

       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

嘉兴网站建设:www.win-shang.com

------分隔线----------------------------
------分隔线----------------------------
浙ICP备15017291号