网上很多文档提到一个JS利用DOM特性作HTMLDecode的方法:
HTMLDecode(strEncodeHTML)
{
var
div
=
document.createElement(
‘
div
‘
);
div.innerHTML
=
strEncodeHTML;
return
div.innerText;
}
这个函数是不安全的,如果参数带有用户输入,就可能导致执行JS代码:
HTMLDecode(strEncodeHTML)
{
var
div
=
document.createElement(
‘
div
‘
);
div.innerHTML
=
strEncodeHTML;
return
div.innerText;
}
HTMLDecode(
“
<img src=1 οnerrοr=alert(1) />
“
);
有人很傻很天真的以为,这个没有被appendChild到dom树的元素,应该不会执行。
转载于:https://www.cnblogs.com/luoluo/archive/2009/03/17/1414123.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110932.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...