[英]Failed DOM-based XSS. Inserting script throght innerHTML
我想向學生展示基於DOM的XSS攻擊的示例。 我認為通過innerHTML插入惡意腳本就足夠了。 但是令我驚訝的是,當我插入腳本時似乎沒有調用它。
示例在這里https://jsfiddle.net/vo9baffu/6/ example
我的問題:是否可以以我的示例中介紹的方式進行基於DOM的XSS攻擊。 如果不是,那我該怎么辦?
順便說一句。 如果您知道一些基於DOM的XSS的好示例,請在評論中發布。
使用良好的圖像:
<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()方法將評估script標記中嵌入的代碼。
使用純JavaScript,您將無法進行XSS攻擊,因為您插入的腳本在大多數情況下不會執行。 發生這種情況是因為內聯腳本僅在解析原始頁面時執行。
您可以使用img標簽和錯誤事件向學生展示XSS攻擊,如下所示:
<img src="whatever.png" onerror="alert('XSS')" />
如這個小提琴所示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.