黑帽SEO
免费发布泛目录 蜘蛛池 黑帽SEO工具

Sniffly: 利用HSTS和CSP嗅探浏览器历史纪录

  14489471134766

  Sniffly是一种通过利用HSTS(HTTP Strict

  Transport Security)和内容安全策略(Content Security

  Policy)进行攻击的方式,它允许任意网站嗅探用户的浏览器历史。该技术被测试于 Firefox 和 Chrome 浏览器。

  Demo

  首先可以先参照DEMO的演示,通过使用Firefox/Chrome/Opera,但请先将HTTPS关闭。

  演示地址: Sniffly(打开之前,请再确认是否使用Firefox/Chrome/Opera浏览器打开,否则可能引起其他浏览器的崩溃)

  工作原理

  首先推荐先读一读源文件中的src/index.js,可以先理解下Sniffly是如何工作的。

  下面讲介绍其主要的工作原理:

  1、首先,用户一开始会先访问嵌入Sniffly的网页;

  2、接着,浏览器会先尝试通过http协议,转向使用HTTPS协议从服务器下载图像;

  3、这个时候,Sniffly会通过设置 CSP(内容过滤策略)屏蔽图像下载,从而实现阻断从http重定向到https,这是很重要的一步。如果浏览器完成了对https网址的请求,那么随后将会直接接收hsts发过来的 pin码,而接下来的攻击将难以实现。

  4、当图像被

  CSP所中断,接下来将会调用onerror处理程序。在这种情况下,由onerror处理程序对图像从HTTP重定向到HTTPS的时间进行追踪计算。如果时间是在毫秒内,那么这意味着浏览器不需要发出网络请求,也就是用户以前访问过目标域名。如果时间是100毫秒左右,那么这意味着浏览器需要发出网络请求,也就是用户以前没有访问过目标域名。

  寻找HSTS主机地址

  加入网站列表,检测哪一台主机是发送 HSTS报文头部信息,

  $ cd util

  $ http://www.xisewbms.cn/run.sh > results.log

  其中初始配置有100个网址,根据实际的环境,也可以使用不同的网址列表替代进行检测,如全Alexa排名前100万。

  通过最大时间跨度对结果进行处理和分类,先排除那些最大时间跨度少于1天以及预下载的。

  $ cd util

  $ http://www.xisewbms.cn/process.py > Sniffly: 利用HSTS和CSP嗅探浏览器历史纪录 processed.log

  执行之后,你可以从process.log中将主机地址复制到src/index.js中。

  运行

  在Chrome浏览器中访问file:///path/to/sniffly/src/index.html。而在Firefox中,显然是不支持CSP

  头部信息使用标签的,所以需要建立一个本地网络服务器,去为CSP HTTP响应头部信息做回应。我的Nginx服务器功能模块如下,

  server {

  listen 8081;

  server_name localhost;

  location / {

  root /path/to/sniffly/src;

  add_header Content-Security-Policy “img-src http:”;

  index index.html;

  }

  }

  或者通过分布式配置文件.htaccess

  Header set Content-Security-Policy “img-src http:”

  又或者通过php发送头部信息

  将以下代码段粘贴在脚本的开头(请记得修改index.php名称)

  

  $csp_rules = “img-src http:”; // Just to ensure maximum compatibility header(‘X-WebKit-CSP: ‘.$csp_rules); header(‘X-Content-Security-Policy: ‘.$csp_rules); header(‘Content-Security-Policy: ‘.$csp_rules); ?> 温馨提示

  1、目前尚不支持Safari, IE, o或者Chrome (iOS)

  2、请将HTTPS功能关闭,浏览器的扩展功能如HTTPS会混淆结果;

  3、请勿使用 Tor浏览器,因为时间统计会被四舍五入到接近100毫秒;

  4、用户如果有不同的HSTS预置列表(因为有较低版本的浏览器),可能看不到准确结果。

  Github地址:Github download

  来自FreeBuf

未经允许不得转载:黑帽SEO-实战SEO技术培训、泛目录站群、蜘蛛池、流量技术教程 » Sniffly: 利用HSTS和CSP嗅探浏览器历史纪录
分享到: 更多 (0)

黑帽SEO-实战SEO技术培训、泛目录站群、蜘蛛池、流量技术教程

不做韭菜坚决不做韭菜