Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension 用于内联事件脚本的Chrome扩展CSP sha-256哈希_Google Chrome Extension - Fatal编程技术网

Google chrome extension 用于内联事件脚本的Chrome扩展CSP sha-256哈希

Google chrome extension 用于内联事件脚本的Chrome扩展CSP sha-256哈希,google-chrome-extension,Google Chrome Extension,我正在尝试实现一个内容安全策略,以便在chrome扩展中使用sha-256哈希值为每个内联事件脚本启用内联处理程序执行 但我无法实现这一点:我提取了所有内联线并计算了哈希值,因此我的内容\u安全性\u策略现在看起来如下所示: “内容安全”策略:“脚本src'self'”不安全评估“'sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=”'sha256-YNkUpNj1B2/FuE2RmwQf40OIO5rH69xQbG5AAxwshrA='sha

我正在尝试实现一个内容安全策略,以便在chrome扩展中使用
sha-256
哈希值为每个内联事件脚本启用内联处理程序执行

但我无法实现这一点:我提取了所有内联线并计算了哈希值,因此我的
内容\u安全性\u策略现在看起来如下所示:

“内容安全”策略:“脚本src'self'”不安全评估“'sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=”'sha256-YNkUpNj1B2/FuE2RmwQf40OIO5rH69xQbG5AAxwshrA='sha256-pmun4rtarna683hwyftyderperpvvv5fb+qvqqqh3xnmg='……'sha256-rosxvujykdb5f+auew02reme29hz/'self='

例如,对于
onclick=“w2ui['grid']”。单击('1',事件);“
I get
sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=

这是一个受支持的方法,但仍会引发错误

拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“脚本src'self''不安全评估''sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=''sha256-YNkUpNj1B2/FuE2RmwQf40OIO5rH69xQbG5AAxwshrA=''sha256-PMUN4RTARNA683HYFTYDxPerpVVV5FB+qvqh3xnmg='。。。启用内联执行需要'unsafe inline'关键字、哈希('sha256-…')或nonce('nonce-…')。


这是一个已知的bug还是我只是误用了这个概念?

这里的答案似乎是chrome——出于某种原因——根本不支持内联事件哈希;我可以通过使用
'safe-eval'
权限预先评估所有内联线来解决这个问题:

var events=[“onclick”、“onmouseover”、“onmouseout”、“onmouseown”,
“onmouseup”、“onscroll”、“oncontextmenu”、“onmousewheel”、“ondblclick”];
函数suverize_inlines(){

for(var i=0;iChrome通常显示您所需的sha256值,但您刚刚在错误消息中显示了…。Chrome是否计算了与您相同的哈希值?否-Chrome按字面意思
显示“不安全内联”关键字、哈希('sha256-…')或nonce('nonce-…'))是启用内联执行所必需的。
如果攻击者能够将HTML注入到页面上,这难道不允许他们有效地将内联事件与之一起携带吗?