IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 采集浏览器指纹 -> 正文阅读

[网络协议]采集浏览器指纹

目录

一、使用HTTP首部

1、web请求的构成

2、不同浏览器的请求头

3、移动设备确定操作系统的工具

二、使用DOM属性

1、DOM属性是否存在

2、使用DOM属性值

三、基于软件bug

四、基于浏览器特有行为


在实际攻击浏览器之前,首先必须确切知晓目标使用的浏览器类型及版本。确定这些信息的过程叫做采集指纹

一、使用HTTP首部

每一个Http请求和响应中都包含HTTP首部,它随同每一个Web请求发送的信息,详细描述了浏览器支持的特性、请求的URL以及主机名和其他信息。这些首部可以帮助浏览器与服务器之间就如何传输信息达成一致,同时共享网页本身内容之外的有关网页的信息和数据。

1、web请求的构成

在火狐浏览器中打开http://echo.opera.com,就可以看到浏览器在请求中发送给服务器的首部信息。

第一行通常叫请求行,包括一个动词、一个位置和一个协议的版本号。动词表示浏览器想干什么,比如:GET、POST、HEAD。

Host首部是第一个,通过它可以看大正在连接的主机是echo.opera.com。

UA首部信息最为丰富,但是也最容易被造假。包含底层操作系统的描述符、布局引擎等。

其他首部表示通信参数,其中Accept首部表示浏览器将接受什么类型的信息来作为响应,Accept-Language首部表示期望的语言。Accept-Encoding首部表示为节省流量最合适的数据压缩方式,Connection首部表示它支持一次连接多次请求。

这些首部通常都以特定顺序发送,不过由于浏览器版本不同,它们的顺序也可能发生变化。

2、不同浏览器的请求头

这是在IE浏览器中打开http://echo.opera.com的样子。可以看到有很多不同。

看到这些信息的顺序时,就可以判断是什么浏览器了。更有意思的是,并非所有IE版本发送这些首部的顺序都相同

3、移动设备确定操作系统的工具

Anthony Hand的MobileESP Project为识别移动设备提供轻量级的API,包括了Ruby、PHP、Python、ASP.NET在内的多种语言。

二、使用DOM属性

通过查看DOM,可以看到浏览器保存的正在浏览的页面信息,包括显示在屏幕上的文档信息,显示器分辨率、导航信息等。由于不同浏览器支持不同的特性,因此查看DOM有助于了解浏览器特别支持的特性。通过和已知的浏览器特性比较,可以进一步缩小浏览器类型与版本号的范围。

1、DOM属性是否存在

访问http:webbrowsercompatibility.com/dom/desktop/,可以看到DOM属性的差异,这个网站提供了不同浏览器版本与相对应DOM特性的信息,让开发者了解某项功能是否得到了全部浏览器的支持。

在查询DOM信息时,可能会得到下面4种响应结果:

Undefined,原因是属性不存在

Null或NaN,原因是属性未设置

Unkowned,原因是属性被废弃或需要ActiveX(仅限IE)

属性的值

2、使用DOM属性值

根据DOM属性存在与否判断浏览器版本仅是识别浏览器的一种方法,要更全面的了解浏览器,还应进一步取得DOM中变量的值。不同的浏览器中,某些DOM属性值由于继承自浏览器本身,并不容易改变,而UA字符串很容易修改,我们可以在windows.navigator.useragent字段中查看真正的UA名称。

三、基于软件bug

这里所说的bug并不是指涉及安全问题的功能,而是指可能存在于某个浏览器的特定版本,然后在后续版本中被修复。触发这些bug并辅以相应的修复版本信息,就可以可靠的确定浏览器提供商和版本。

四、基于浏览器特有行为

基于浏览器特有行为与基于bug类似,都与特定浏览器或浏览器的特定版本相关。

所谓特有行为,可能是某浏览器支持某些特殊元素,或者在某种情况下Javascripts的某个函数会返回特殊的值。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 18:03:49  更:2021-12-16 18:04:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 7:35:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码