zoukankan      html  css  js  c++  java
  • xss 跨站脚本攻击

    攻击原理

    XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

    xss 与其他的攻击方式相比缺点明显,如下:

    1、耗时间

    2、有一定几率不成功

    3、没有相应的软件来完成自动化攻击

    4、前期需要基本的html、js功底,后期需要扎实的html、js、actionscript2/3.0等语言的功底

    5、是一种被动的攻击手法

    6、对website有http-only、crossdomian.xml没有用

    但是它的广泛性也让很多相关人员对次偏爱不已,几乎所有的网站都存在xss 漏洞,包括百度,谷歌等大型网站

    XSS形成原理 

    wed 前端代码缺少过滤或过滤不足,从而导致的输出问题

    1 <?php
    2 $xss=$_GET['x'];
    3 echo $xss;
    4 ?>

    执行以上代码,我们可以在网页上得到x 的值

    此时查看源代码,发现我们以GET 传过去的x 的值在body 标签直接输出

    那么在这里假设,如果我们在搜索框输入<script>alert(‘xss’)</script>会出现什么呢?按照前面的例子来看这段JavaScript 代码会嵌入到body 标签输出,然后页面弹出弹框
     

    也就是说我们可以在一些前端代码中嵌入并执行自己构造的一些JavaScript 代码,从而实现xss 攻击,并且JavaScript 加载的外部代码文件可以是任意的扩展名,无扩展名也可以,甚至于文件中有JavaScript代码,代码也会被执行,这也就给了攻击者更加灵活的发挥空间

    XSS 技术分类

    有人将XSS攻击分为三种,分别是:

    1. Reflected XSS(基于反射的XSS攻击)

    2. Stored XSS(基于存储的XSS攻击)

    3. DOM-based or local XSS(基于DOM或本地的XSS攻击)

    实际上DOM 型的xss 攻击也是一种特殊的反射型xss 攻击,反射型xss 攻击需要依靠用户手动触发,而存储型xss 攻击并不需要用户手动触发,并且作用于数据库,具有更高的隐蔽性和危害性

    手工检测XSS

    手工检测xss 漏洞,关键是利用一些特殊字符来确定输入输出点,一般用特殊字符< / > 之类的进行测试,然后查看源代码,来确定输出点是否存在过滤

    反射型xss,常存在于搜索框,用户登录口,它的数据流向:浏览器->后端->浏览器
    存储型xss,多存在于留言,评论,博客日志交互处,数据流向:浏览器->后端->数据库->后端->浏览器

    XSS 通用标签

  • 相关阅读:
    linux下导入、导出mysql 数据库命令
    MapReduce工作原理(简单实例)
    BloomFilter ——大规模数据处理利器
    huawei机试题目
    二叉树操作集锦
    表达式计算的中序转后序
    用 JavaScript 修改样式元素
    网页中的表单元素
    使用网络字体作为矢量图标
    CSS 的 appearance 属性
  • 原文地址:https://www.cnblogs.com/TWX521/p/9936917.html
Copyright © 2011-2022 走看看