我正在尝试创建一个客户端javascript工具,用于检查网页中输入字段的DOM XSS漏洞。
我现在正在做的是尝试使用输入标记找出页面内的元素。
然后我将他们的值更改为某些恶意字符串说警告(" hi")然后我想模拟在输入元素内按Enter键以便它被提交,之后我将检查我是否恶意脚本已经执行或未执行。我需要通过javascript做到这一点,有没有办法做到这一点?我尝试了以下代码,但似乎没有用。
inputField = document.getElementsByTagNameNS("*",'input')
var e = document.createEvent("KeyboardEvent");
if (e.initKeyboardEvent) { // Chrome, IE
e.initKeyboardEvent("keyup", true, true, document.defaultView, "Enter", 0,
"", false, "");
} else { // FireFox
e.initKeyEvent("keyup", true, true, document.defaultView, false, false,
false, false, 13, 0);
}
inputField[0].dispatchEvent(e);
它没有被提交。目前我必须找到具有类型"提交"的下一个输入元素,我假设这个是输入字段的提交部分并且执行click()在它上面。但是这种方法并不是全面的,它可能会选择一个错误的元素并点击它。我该怎么做?
请帮助,坚持下去