网上流行的JS HTMLDecode不安全

网上流行的JS HTMLDecode不安全

网上很多文档提到一个JS利用DOM特性作HTMLDecode的方法:

function
 HTMLDecode(strEncodeHTML)
{

    

var
 div 
=
 document.createElement(

div

);
    div.innerHTML 

=
 strEncodeHTML;
    

return
 div.innerText;
}

 

这个函数是不安全的,如果参数带有用户输入,就可能导致执行JS代码:

function
 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110932.html原文链接:https://javaforall.net

(0)
上一篇 2021年7月29日 下午9:00
下一篇 2021年7月29日 下午10:00


相关推荐

  • ResNet34_keras dropout

    ResNet34_keras dropout参考:https://www.kaggle.com/meaninglesslives/unet-resnet34-in-keras

    2022年10月6日
    7
  • golang 2020 激活码_通用破解码[通俗易懂]

    golang 2020 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    204
  • 欧拉回路学习总结

    欧拉回路学习总结欧拉回路学习总结 nbsp 理解 设 G V E 是一个图 欧拉回路图 G 中经过每条边一次并且仅一次的回路称作欧拉回路 欧拉路径图 G 中经过每条边一次并且仅一次的路径称作欧拉路径 欧拉图存在欧拉回路的图称为欧拉图 半欧拉图存在欧拉路径但不存在欧拉回路的图称为半欧拉图 nbsp 思想 nbsp 首先明确一点 如果原图存在孤立点 那么我们去除孤立点不会对答案有所影响 然后我们

    2026年3月17日
    2
  • java父类引用指向子类对象好处_java子类调用父类属性

    java父类引用指向子类对象好处_java子类调用父类属性1.什么是多态?方法的重写、重载与动态连接构成多态性Java之所以引入多态的概念,原因之一就它在类的继承上的问题和C++不同,后者允许多继承,这确实给其带来了非常强大的功能,但是复杂的继承关系也给C++开发者带来了更大的麻烦,为了规避风险,Java只允许单继承,势必在功能上有很大的限制,所以,Java引入多态性的概念以弥补这点不足,此外,抽象类和接口也是解决单继承规定限制的重要手段.同时,…

    2025年8月15日
    3
  • OpenClaw MacOS 安装及配置指南

    OpenClaw MacOS 安装及配置指南

    2026年3月13日
    2
  • 深入理解FFM原理与实践

    深入理解FFM原理与实践FM 和 FFM 模型是最近几年提出的模型 凭借其在数据量比较大并且特征稀疏的情况下 仍然能够得到优秀的性能和效果的特性 屡次在各大公司举办的 CTR 预估比赛中获得不错的战绩 美团点评技术团队在搭建 DSP 的过程中 探索并使用了 FM 和 FFM 模型进行 CTR 和 CVR 预估 并且取得了不错的效果 本文旨在把我们对 FM 和 FFM 原理的探索和应用的经验介绍给有兴趣的读者 前言在计算广告领域 点击率 CTR click th

    2025年9月16日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号