zoukankan      html  css  js  c++  java
  • xss原理及简单介绍

    XSS简单介绍—Web攻击

    一 ·基础介绍

    xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制。

    二·分类

    (一)持久型/存储型

    非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。

     例一:

            通过在交互页面寻找xss漏洞,再通过插入xss恶意代码<script>alert('xss')</script> ,当管理员登陆界面时,就会弹出xss.

    (二)非持久型/反射型

    持久型xss攻击会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。下面来看一个利用持久型xss攻击获取session id的实例。

     例二:

            在交互页面输入<script>alert('xss')</script> 漏洞代码,立即弹出xss.

    三·xss漏洞查找方法

    1. 黑盒测试

    所谓黑盒测试, 就是在不知道系统的代码和运行状态的条件下,对系统进行的测试。在对XSS漏洞的检测中,我们可以模拟黑客的攻击手段,在所有可能的数据输入接口处,尝试 进行一些XSS注入。通过观察注入后的引用这些数据的页面,看其是否出现被注入的现象,即可确实是否存在XSS漏洞。比如我们可以用下面所列的一些脚本来 尝试XSS注入:

    ><script>alert(document.cookie)</script>
    
    =’><script>alert(document.cookie)</script>
    
    <script>alert(document.cookie)</script>
    
    <script>alert(vulnerable)</script>
    
    <script>alert(’XSS’)</script>
    
    <imgsrc=/uploadfile/2015/0301/20150301105236644.png” nerror=”alert(’XSS’)”>

    2. 静态分析

    静态分析方法属于白盒测试方法的一种,它通过对Web应用的代码进行分析,从而发现其中可能存在的问题。

    3. 数据流分析

    XSS 之所以产生,根本原因在于不安全的数据流, 使得用户的输入数据被直接嵌入到某些页面中。比如PHP中的echo语句,就能够将一些数据直接添加为 HTML页面的一部分,如果这个数据是用户注入了XSS脚本的数据,则会导致产生XSS攻击。因此,数据流分析的主要思想就是使用一些模型或者工具,分析 Web应用程序代码中的数据传输情况,从而发现其中存在的问题。

    四·缺陷

    1、耗时间
    2、有一定几率不成功
    3、没有相应的软件来完成自动化攻击
    4、前期需要基本的html、js功底,后期需要扎实的html、js、actionscript2/3.0等语言的功底
    5、是一种被动的攻击手法
    6、对website有http-only、crossdomian.xml没有用

  • 相关阅读:
    每天学点Linux-选取命令CUT和GREP
    每天学点Linux-切割命令split
    基于netty-socketio的web推送服务
    Redis学习-LUA脚本
    spring中InitializingBean接口使用理解
    外包采用Gradle生成多套app打包
    Android Studio 快捷键 for mac
    使用ClipboardUtils兼容API LEVEL 11以下实现复杂粘贴
    finished with non-zero exit 添加v7包报错的问题
    Infer初体验 for Android
  • 原文地址:https://www.cnblogs.com/qiujun/p/5983093.html
Copyright © 2011-2022 走看看