网站地图    收藏   

主页 > 后端 > 网站安全 >

HTML5安全攻防详析之七:新标签攻击 - 网站安全

来源:自学PHP网    时间:2015-04-17 11:59 作者: 阅读:

[导读] HTML5去掉了很多过时的标签,例如center和frameset,同时又引入了许多有趣的新标签,例如video和audio标签可以允许动态的加载音频和视频。 HTML5引入的新标签包括Audio、Video、Canvas、A......

 HTML5去掉了很多过时的标签,例如<center>和<frameset>,同时又引入了许多有趣的新标签,例如<video>和<audio>标签可以允许动态的加载音频和视频。

         HTML5引入的新标签包括<Audio>、<Video>、<Canvas>、<Article>、<Footer>等等,而这些标签又有一些有趣的属性,例如poster、autofocus、onerror、formaction、oninput,这些属性都可以用来执行javascript。这会导致XSS和CSRF跨域请求伪造。

         下面我们要讲到就是这些关键载体。它允许创建XSS的变种并且可以绕过现有的XSS过滤器。

         首先来看一个标签:

 

  1. <video><sourceonerrorsourceonerror="javascript:alert(1)“>  

 

         它使用了一个source标签,而没有指定具体的src,所以后面的onerror方法会立即得到执行。

         下面是video的poster属性,它链接到一个图像,是指当视频未响应或缓冲不足时,显示的占位符。

 

  1. <videopostervideoposter=”javascript:alert(1)”>  

 

         另外还有HTML5新引入的autofocus和formaction属性,autofocus会让元素自动的获取焦点,而formaction属性能覆盖 form 元素的action 属性。

 

  1. <inputautofocus onfocus=“alert(1)”>  
  2. <form><buttonformactionbuttonformaction="javascript:alert(1)">  

 

         在这个项目里存在用户输入的地方,我们虽然已经针对旧有的标签以及属性进行了过滤和清洗,但是还会存在新标签攻击的漏洞,攻击者利用上面的示例方式就可以对系统进行XSS注入攻击。例如攻击者输入http://www.yujie.com/1.php?text=<videoposter=”javascript:alert(1)”>时就能立即运行攻击脚本。

\

         我们对此攻击的防御方式是,对前端或者后端的过滤器进行优化,添加过滤规则或者黑名单



相关文章:

        《HTML5安全风险详析之一:CORS攻击 

        《HTML5安全风险详析之二:WebStorage攻击

        《HTML5安全风险详析之三:WebSQL攻击

        《HTML5安全风险详析之四:Web Worker攻击

        《HTML5安全风险详析之五:劫持攻击
            《HTML5安全风险详析之六:API攻击

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论