Javascript 失败的基于DOM的XSS。通过HTML插入脚本

Javascript 失败的基于DOM的XSS。通过HTML插入脚本,javascript,dom,xss,Javascript,Dom,Xss,我想向我的学生展示DOM-base-XSS攻击的示例。我认为通过innerHTML插入恶意脚本就足够了。但令我惊讶的是,当我插入脚本时,它似乎没有被调用 示例如下Example 我的问题:是否有可能以我的示例中介绍的方式进行基于DOM的XSS攻击。如果不是这样,我应该改变什么 顺便说一句。 如果你知道一些基于DOM的XSS的好例子,请发表评论。使用好的ol图像: <img src="/bad.png" onerror="alert(-2)" /> 完整代码: function

我想向我的学生展示DOM-base-XSS攻击的示例。我认为通过innerHTML插入恶意脚本就足够了。但令我惊讶的是,当我插入脚本时,它似乎没有被调用

示例如下
Example

我的问题:是否有可能以我的示例中介绍的方式进行基于DOM的XSS攻击。如果不是这样,我应该改变什么

顺便说一句。
如果你知道一些基于DOM的XSS的好例子,请发表评论。

使用好的ol图像:

<img src="/bad.png" onerror="alert(-2)" />

完整代码:

function showName() {
  tt = "script";
  badCode = "John<img onerror='alert(-2)' src='/bad.png'>";
  console.log(badCode);
  document.getElementById("name").innerHTML = badCode;
}
函数showName(){
tt=“脚本”;
badCode=“约翰”;
console.log(坏代码);
document.getElementById(“名称”).innerHTML=badCode;
}
其中
/bad.png
应触发
onerror


你的

使用好的ol形象:

<img src="/bad.png" onerror="alert(-2)" />

完整代码:

function showName() {
  tt = "script";
  badCode = "John<img onerror='alert(-2)' src='/bad.png'>";
  console.log(badCode);
  document.getElementById("name").innerHTML = badCode;
}
函数showName(){
tt=“脚本”;
badCode=“约翰”;
console.log(坏代码);
document.getElementById(“名称”).innerHTML=badCode;
}
其中
/bad.png
应触发
onerror


和您的

简单地说:您不能以示例中所示的方式进行基于DOM的XSS攻击

您必须在HTML中包含jQuery,并改用HTML()方法。这将完全满足您的要求,因为html()方法将计算嵌入脚本标记中的代码

使用纯JavaScript,您无法进行XSS攻击,因为您插入的脚本在大多数情况下都不会执行。这是因为内联脚本仅在解析原始页面时执行

您可以使用img标记和错误事件向学生显示XSS攻击,如下所示:

<img src="whatever.png" onerror="alert('XSS')" />


如图所示。

简要地说:您不能以示例中所示的方式进行基于DOM的XSS攻击

您必须在HTML中包含jQuery,并改用HTML()方法。这将完全满足您的要求,因为html()方法将计算嵌入脚本标记中的代码

使用纯JavaScript,您无法进行XSS攻击,因为您插入的脚本在大多数情况下都不会执行。这是因为内联脚本仅在解析原始页面时执行

您可以使用img标记和错误事件向学生显示XSS攻击,如下所示:

<img src="whatever.png" onerror="alert('XSS')" />

如图所示