| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 采集浏览器指纹 -> 正文阅读 |
|
[网络协议]采集浏览器指纹 |
目录 在实际攻击浏览器之前,首先必须确切知晓目标使用的浏览器类型及版本。确定这些信息的过程叫做采集指纹。 一、使用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特性的信息,让开发者了解某项功能是否得到了全部浏览器的支持。
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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 11:41:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |