【发布时间】:2017-08-25 18:25:24
【问题描述】:
我正在为我的一位朋友创建一个 XSS 易受攻击的网站,以便他可以搞乱它。但是,过去几天我一直在尝试创建一个,但没有成功。我现在只是为了简化它:
<input type="text" id="YourText">
<button onclick="myFunction()">Button</button>
JavaScript:
function myFunction() {
var btn = document.createElement("button");
btn.appendChild(document.createTextNode(document.getElementById("YourText").value);
document.body.appendChild(btn);
}
所以它应该做的是,如果您按下名为 button 的按钮,它会创建一个按钮,其中包含您在具有您创建的 id 的文本框中键入的文本。但是,当我运行它时,什么也没有发生。我不明白为什么。我使用了段落标签甚至脚本标签,但没有任何效果。但是,如果我这样做,它只会创建元素但不会接受用户的输入,如下所示:
function myFunction() {
var btn = document.createElement("button");
btn.appendChild(document.createTextNode("Hi"));
document.body.appendChild(btn);
}
它工作得很好。我试过删除 .value 但它仍然不起作用。我只是不明白我做错了什么,请帮忙。
它的源代码在这里:https://github.com/ninja25538/SuperCoolImageSiteThat-sNotAtAllVulnerable/blob/master/index.html
【问题讨论】:
-
我想只使用 JavaScript 但如果没有 JavaScript 选项,我将使用 Jquery
-
您有一个错字:括号在您的代码 sn-ps 中不平衡。如果您监控控制台,您会注意到的。
-
我的电脑没有控制台,因为它被阻止了=(
-
你改错了吗?
-
您是否在文本输入中输入过任何内容? Working here.
标签: javascript html debugging button input