栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

Web安全之初识XSS

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Web安全之初识XSS

更多精彩文章欢迎大家关注微信公众号 前端阅读室 同源策略

在介绍XSS之前首先来了解一下同源策略,因为它是浏览器最核心也最基本的安全功能。

同源(协议、host(域名或IP地址,如果是IP地址则看作一个根域名)、端口号相同)策略限制了来自不同源的"document"或脚本,对当前"document"读取或设置某些属性。

script、img、iframe、link等标签都可以跨域加载资源,它实际上是由浏览器发起了一次GET请求。不同于XMLHttpRequest的是,浏览器限制了Javascript的权限,使其不能读、写返回的内容。XMLHttpRequest受到同源策略的约束,不能跨域访问资源。

什么是XSS

XSS攻击,通常指黑客通过"HTML注入"篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。一开始,这种攻击的演示案例是跨域的,所以叫做"跨站脚本",现在是否跨域已经不再重要,但是名字一直沿用下来。

XSS示例

假如用户输入的参数直接输出到页面上:


用户提交了一段HTML代码

http://www.a.com/test.php?param=

alert(/xss/)就会在页面中执行。

这就是XSS的一种:反射型XSS。

XSS分类
  1. 反射型XSS
    反射型XSS只是简单地把用户输入的数据”反射“给浏览器。也就是说黑客往往需要诱使用户”点击“一个恶意链接,才能攻击成功。反射型XSS也叫”非持久型XSS”。
  2. 存储型XSS
    存储型XSS会把用户输入的数据“存储”在服务器端。这种XSS具有很强的稳定性。
    比较常见的,黑客写下一篇包含恶意Javascript代码的博客文章,文章发表后,所有访问该博客文章的用户,都会在他们的浏览器中执行这段恶意的Javascript代码。黑客把恶意脚本保存在了服务端,这种XSS攻击就叫做“存储型XSS”。存储型XSS也叫做“持久型XSS”。
  3. DOM based XSS
    通过修改页面的DOM节点形成的XSS,称之为DOM based XSS,从效果上来说也是反射型XSS,单独划分出来是因为它的形成原因比较特殊,发现它的安全专家提出了这种类型的XSS。出于历史原因把它单独作为一个分类了。
DOM based XSS示例



  
  document


  

  

输入框构造如下数据:

' onclick=alert(/xss/) //

它先用一个单引号闭合掉href的第一个单引号,然后插入一个onclick事件,最后再用注释符“//”注释掉第二个引号。
输入后,页面代码变成了:

testlink

点击新生成的这个链接,脚本将被执行。

其实还可以选择闭合掉标签,并插入一个新的HTML标签:

'><'

页面代码变成


  <''>
  testlink

脚本直接被执行,弹出/xss2/。

更多精彩文章欢迎大家关注微信公众号 前端阅读室
转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号