如何在javascript中模拟输入字段内的输入键

时间:2017-06-20 13:45:35

标签: javascript dom javascript-events xss javascript-objects

我正在尝试创建一个客户端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()在它上面。但是这种方法并不是全面的,它可能会选择一个错误的元素并点击它。我该怎么做?

请帮助,坚持下去

0 个答案:

没有答案