【问题标题】:Unable to run script - DOM based attack无法运行脚本 - 基于 DOM 的攻击
【发布时间】:2014-05-07 06:56:41
【问题描述】:

我正在尝试使用 html 文件创建基于 DOM 的攻击。 文件如下:

<html> 
<head>
<script type="text/javascript">    
 function fun() {
 var val = document.getElementById("mytext").value;
 document.getElementById("p1").innerHTML = unescape(val);
}

</script>
</head>
<body>
<p id ="p1">Empty</p>
Give input : <input id="mytext" type="text" value="abcd" >
<input type="button" id="b1" onclick="fun()" value="Change link" >

</body>
</html>

当我在文本框中传递&lt;script&gt;alert('hello world');&lt;/script&gt; 并单击按钮时,p 标签不会运行脚本。可能的原因是什么?我正在学习 XSS 来测试我们网站的安全性。

【问题讨论】:

  • 您可以使用 $("#p1").html(val) 代替不执行脚本标签的普通 innerHTML。或者, eval() 脚本标签内容,但是为什么要在那个时候打扰呢?
  • Can scripts be inserted with innerHTML? 的可能重复项,换句话说,您的测试平台无效。对于 XSS,可以使用此问题中描述的一种技术
  • 我将方法更改为 function fun() { var val = document.getElementById("mytext").value; var source = document.getElementById("p1"); source.innerHTML = val;评估(source.innerHTML);仍然无法正常工作
  • 另外我认为现代浏览器已经对 xss 攻击有了某种保护,尝试在 ie 6,7 等旧浏览器中进行测试

标签: javascript html dom xss


【解决方案1】:

尝试插入。插入到 innerHTML 中时,脚本不会运行。

【讨论】:

    猜你喜欢
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 2019-08-11
    • 2020-06-12
    相关资源
    最近更新 更多