当前位置: 首页 > Web前端 > CSS

Third-partycssisnotsafe

时间:2023-03-31 01:19:47 CSS

翻译一篇文章标题,third-partycssisnotsafe文章来源地址https://jakearchibald.com/201...前几天有很多键盘记录器关于css的相关新闻.csskeyloggerhttps://github.com/maxchehab/...许多人要求修复浏览器,有些人发现它会影响在React等框架中构建的网站。第三方图片如果包含第三方代码,网站examamp.com可以通过删除图片返回404,导致网站显示不完整问题,或者是直接替换原来的镜像文件。然而,图像的影响仅限于元素本身的内容框。你可以尝试向用户解释,这里的一些内容来自example.com。如果图片有问题,那不是自己网站的错误,而是引用图片的网站的错误。错误。并且一定不能影响密码字段等内容第三方脚本相对于图片,第三方脚本对网页的影响更大控制权限,如果包含以上内容,脚本可以完全控制URL,即可以读取/更改页面内容,监听用户交互,运行计算量大的代码,比如Monero矿业。使用用户的cookie向服务器发送请求,然后窃取cookie读取/更改他们想要的原始存储,原始存储非常重要,如果脚本干扰indexedDB或缓存存储api,即使您删除脚本,攻击仍然会发生。注意,由于浏览器缓存机制的存在,恶意脚本仍然会运行在用户的浏览器上。如果您包含来自其他来源的脚本,则必须确保它们是安全的。如果遇到恶意脚本,必须使用Clear-Site-Datahttpheader清除用户浏览器中缓存的站点数据第三方css第三方css比脚本更接近图片,类似于脚本,同样作用于整个页面。可以删除/添加/修改页面内容,根据页面内容发送请求,响应很多用户交互,css不能修改原有存储,可以在css中搭建矿机。(即Monero矿工),但恶意css仍然可以造成很大的损害。键盘记录器从一个得到很多关注的开始input[type="password"][value$="p"]{background:url('/password?p');}在上面的password?p中,如果输入value属性结束,会触发请求p,会导致抓取大量数据。value默认情况下,浏览器不会将用户输入的值存储在属性中,所以攻击依赖于同步这些值的内容,也就是React为了缓解这种情况,React正在寻找另一种方式来同步password字段,或者浏览器可以限制匹配password字段的value属性的选择器,但是,这不是很有用如果React切换到使用data-value属性,当前的暂停机制(当前的安全对策)如果站点将输入更改为type="text"以便用户可以看到他们正在输入的内容,将会完美地工作,并且如果站点在其中创建并将值作为属性公开,则也将工作,那么该机制也会生效另外,还有很多其他基于css的攻击内容会消失body{display:none;}html::after{content:'HTTP500服务器错误';但是想象一下,如果第3方为你的一小部分用户做了这种事情,就会出现一个大问题,黑客更有可能删除购买按钮,或者重新排列内容中的段落以添加到内容中。价格-价值::之前{内容:'1';}使用该方法修改网页中的内容,移动网页中的内容。delete-everything-button{opacity:0;位置:绝对;顶部:500px;left:300px;}把那个按钮做一些严肃的事情,让它不可见,然后把它放在用户可能点击的东西上。值得庆幸的是,如果按钮做了一些非常严重的事情,网站可能会首先显示一个确认对话框,没关系,继续使用更多的css来欺骗用户点击是的,我确定,按钮而不是天哪没有按钮。可以想象,如果浏览器没有缓解键盘记录的技巧,攻击者可以在页面上输入非密码文本。然后把它放在密码输入上。注意,它是通过重写来完成的。读取属性除此以外,html属性中还会有其他私有内容="//cool-maps-service/show?st-pancras-london">

这些可以作为css选择器的目标,并且可以作为结果用于发出请求以监视用户与页面的交互。login-button:hover{background:url('/login-button-hover');}.login-button:active{background:url('/login-button-active');}悬停和激活可以发回到服务器,使用css,你可以理解用户和页面之间的交互阅读文本@font-face{font-family:blah;src:url('/page-contains-q')格式('woff');unicode-range:U+71;}html{font-family:blah,sans-serif;}在这里这种情况下,如果页面包含文字,就会发送请求q,第三方内容不安全这些只是一些我知道的技巧,我相信还会有更多。第三方内容在其沙箱中具有很高的影响力,图像或沙箱iframe的沙箱非常小,但脚本和样式的范围仅限于您的页面,甚至整个来源。如果您担心用户会诱骗您的网站加载第三方资源,那么您可以使用CSP作为安全网来限制从何处获取图像、脚本和样式。csp内容安全策略是为了缓解很大一部分潜在的跨站脚本问题。浏览器扩展系统引入内容安全策略,以白名单机制作用于网站加载或执行的资源。您还可以在HTTP标头中使用资源完整性来确保脚本/样式内容与特定哈希匹配。否则它将不起作用如果您对更多内容感兴趣,包括有关滚动条技巧的更多详细信息,请查看MathiasBynens的2014年演讲、MikeWest的2013年演讲或MarioHeiderich等人的2012年论文(PDF)。但这不是最新的https://vimeo.com/100264064#t...https://www.youtube.com/watch...http://www.nds.rub.de/media/e。..