什么是;JavaScript消毒不';“不要从innerHTML中保存您”;什么意思?

什么是;JavaScript消毒不';“不要从innerHTML中保存您”;什么意思?,javascript,html,xss,Javascript,Html,Xss,我正在通过这个ppt学习xss预防,在这个页面上我有一个问题 它说“JavaScript清理不会将您从innerHTML中解救出来”,我尝试了这样一个简单的测试: 测试 var userName=“Jeremy\x3Cscript\x3Ealert('boom')\x3C/script\x3E”; document.getElementById('test').innerHTML=“+userName+”; 根据,innerHTML阻止元素直接执行1,这意味着您的测试不应发出任何警报。但是,

我正在通过这个ppt学习xss预防,在这个页面上我有一个问题

它说“JavaScript清理不会将您从innerHTML中解救出来”,我尝试了这样一个简单的测试:


测试
var userName=“Jeremy\x3Cscript\x3Ealert('boom')\x3C/script\x3E”;
document.getElementById('test').innerHTML=“+userName+”;
根据,
innerHTML
阻止
元素直接执行1,这意味着您的测试不应发出任何警报。但是,它不会阻止事件处理程序稍后启动,这使得以下操作成为可能:

var name=“\x3Cimg src=x onerror=alert(1)\x3E”;
document.getElementById('test')。innerHTML=name;//显示警报
“我说得对吗?”。否。innerHTML不执行脚本。可以通过使用内联属性使innerHTML执行脚本。