基于 DOM 的 XSS 失败。通过 innerHTML 插入脚本
Failed DOM-based XSS. Inserting script throght innerHTML
我想向我的学生展示 DOM-base XSS 攻击的示例。我认为通过 innerHTML 插入恶意脚本就足够了。但令我惊讶的是,当我插入脚本时,它似乎没有被调用。
示例在这里https://jsfiddle.net/vo9baffu/6/example
我的问题:是否可以按照我示例中介绍的方式进行基于 DOM 的 XSS 攻击。如果不是,那么我应该改变什么?
顺便说一句。
如果您知道一些基于 DOM 的 XSS 的好例子,请在评论中 post。
使用好的 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;
}
/bad.png
应该触发 onerror
。
还有你的JSFiddle
简述:您无法按照示例中的方式进行基于DOM 的XSS 攻击。
您必须在 HTML 中包含 jQuery 并改用 html() 方法。这将完全满足您的要求,因为 html() 方法将计算脚本标记中嵌入的代码。
使用纯JavaScript,你无法进行XSS攻击,因为你插入的脚本在大多数情况下是不会执行的。发生这种情况是因为内联脚本仅在解析原始页面时执行。
您可以使用 img 标签和错误事件向您的学生展示 XSS 攻击,如下所示:
<img src="whatever.png" onerror="alert('XSS')" />
如图所示 fiddle .
我想向我的学生展示 DOM-base XSS 攻击的示例。我认为通过 innerHTML 插入恶意脚本就足够了。但令我惊讶的是,当我插入脚本时,它似乎没有被调用。
示例在这里https://jsfiddle.net/vo9baffu/6/example
我的问题:是否可以按照我示例中介绍的方式进行基于 DOM 的 XSS 攻击。如果不是,那么我应该改变什么?
顺便说一句。 如果您知道一些基于 DOM 的 XSS 的好例子,请在评论中 post。
使用好的 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;
}
/bad.png
应该触发 onerror
。
还有你的JSFiddle
简述:您无法按照示例中的方式进行基于DOM 的XSS 攻击。
您必须在 HTML 中包含 jQuery 并改用 html() 方法。这将完全满足您的要求,因为 html() 方法将计算脚本标记中嵌入的代码。
使用纯JavaScript,你无法进行XSS攻击,因为你插入的脚本在大多数情况下是不会执行的。发生这种情况是因为内联脚本仅在解析原始页面时执行。
您可以使用 img 标签和错误事件向您的学生展示 XSS 攻击,如下所示:
<img src="whatever.png" onerror="alert('XSS')" />
如图所示 fiddle .