为什么会有数据:'是CSP的脚本src?

时间:2015-08-20 14:18:39

标签: content-security-policy

我在服务器的日志中看到了以下内容安全违规。 何时会有数据:'输入script-src? Isn' t'数据:'仅用于例如base64编码图像?

CSP violation! 
    { 'csp-report':
        { 'blocked-uri': 'data:',
        'document-uri': 'https://certsimple.com/blog/domain-validated-ssl',
        'original-policy': longPolicyGoesHere,
        referrer: '',
        'violated-directive': 'script-src https://example.com https://use.typekit.net \'unsafe-inline\' https://js.stripe.com \'unsafe-eval\' https://platform.twitter.com https://cdn.mxpnl.com https://syndication.twitter.com' } }

1 个答案:

答案 0 :(得分:7)

data:用于base64编码的嵌入数据。虽然最常用的用法是将图像编码为样式表以减少请求数量,但这不是唯一的用途。 URI方案可用于以下脚本:

<script src="data:application/javascript;charset=utf-8;base64,YWxlcnQoJ1hTUycpOw=="></script>

也可在jsfiddle上找到。

您看到的报告是合法的,有些尝试使用数据URI方案将任意javascript注入您的网页,以模糊其正在做的事情。虽然这可能反映了您的应用程序中存在的问题,但它更可能是一个恶意的浏览器扩展,它可能是恶意的,并且试图做一些偷偷摸摸的事情或benign and very badly coded