网上流行的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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 高中四个基本不等式公式_高中数学基本不等式典型题

    高中四个基本不等式公式_高中数学基本不等式典型题高一数学要从掌握好基本知识点开始,并且要及时做好归纳总结。以下是小编为您整理的关于的相关资料,供您阅读。1.不等式性质比较大小方法:1作差比较法2作商比较法不等式的基本性质①对称性:a>bb>a②传递性:a>b,b>ca>c③可加性:a>ba+c>b+c④可积性:a>b,c>0ac&gt…

  • Java和MySQL数据类型对应一览

    Java和MySQL数据类型对应一览Table20.25.MySQLTypestoJavaTypesforResultSet.getObject()MySQLTypeNameReturnvalueofGetColumnClassNameReturnedasJavaClassBIT(1)(newinMySQL-5.0)BITjava.lang.Bool

  • pycharm中使用anaconda部署python环境_anaconda pycharm环境配置

    pycharm中使用anaconda部署python环境_anaconda pycharm环境配置Pycharm使用anaconda环境(原环境base)注意本教程是针对使用anaconda的新手,添加的是anaconda自带的base环境!首先打开或者新建一个Python项目File->Settings->Project->PythonInterpreter,然后在右边PythonInterpreter看一下又没有anaconde的选项,如果有,就直接选中,然后就可以了,如果没有那就继续看下去.如果没有默认读取anaconda的选项,那

  • java常用的三种注释方式

    java常用的三种注释方式1.在java中,有三种常用的标记注释方式,最常用的是单行注释,‘//’它由两条斜杆组成记住是斜杆而不是反斜杠(\),注释是用来给代码注释说明,会存放一些方便理解代码涵义的说明2.如果需要写长篇内容注释且可用多行注释‘/**/’,因为单行注释已经不够满足需求了,在多行注释里面记录比较长的一段注释内容3.最后一种注释是文档注释/***/,功能比较强大,可以生成注释文档(关于文档注释这里先有个概念),java有自带文档注释工具在JDK安装路径下的bin目录下的javadoc.exe4….

  • PoolBoy

    PoolBoy

  • svn—Eclipse中如何显示svn 信息「建议收藏」

    从svn下载的项目,导入Eclipse中,就是不显示出文件的文件的状态图标和后面的版本号。

发表回复

您的电子邮箱地址不会被公开。

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