zoukankan      html  css  js  c++  java
  • XSS挑战赛 --前13关

    一、xss的形成原理
     
    xss 中文名是“跨站脚本攻击”,英文名“Cross Site Scripting”。
    xss也是一种注入攻击,当web应用对用户输入过滤不严格,攻击者写入恶意的脚本代码(HTML、JavaScript)到网页中时,如果用户访问了含有恶意代码的页面,恶意脚本就会被浏览器解析执行导致用户被攻击。
    常见的危害有:cookie窃取,session劫持,钓鱼攻击,蠕虫,ddos等。

    二、xss的分类
     
    xss根据其特性和利用方式可以分为三大类:反射型xss,存储型xss,DOM型xss
     
    1、反射型xss
    反射型xss一般出现在URL参数中及网站搜索栏中,由于需要点击包含恶意代码的URL才可以触发,并且只能触发一次,所以也被称为“非持久性xss”。
     
    2、存储型xss
    存储型xss一出现在网站留言板,评论处,个人资料处,等需要用户可以对网站写入数据的地方。比如一个论坛评论处由于对用户输入过滤不严格,导致攻击者在写入一段窃取cookie的恶意JavaScript代码到评论处,这段恶意代码会写入数据库,当其他用户浏览这个写入代码的页面时,网站从数据库中读取恶意代码显示到网页中被浏览器执行,导致用户cookie被窃取,攻击者无需受害者密码即可登录账户。所以也被称作“持久性xss”。持久性xss比反射型xss危害要大的多。
     
    3、dom型xss
    DOM xss是基于dom文档对象模型,前端脚本通过dom动态修改页面,由于不与服务端进行交互,而且代码是可见的,从前端获取dom中的数据在本地执行。
    常见的可以操纵dom的对象:URL,localtion,referrer等

    引起触发的几条语句:
    <script>alert('hello,gaga!');</script>
    >"'><img src="javascript.:alert('XSS')">
    ' onmouseover=alert(2) '
    " onclick=alert(1) "
    "><a href=javascript:alert(1)>ddd
    "><img src=# onerror=alert(1)>>
    <svg onload=alert(1)>

    绕过思路:
    1.JS编码
       八进制e   145
        十六进制   e  x65  或者  x0065
        特殊C风格:   
    2.HTML实体编码
       命名实体:<        &lt;
       字符编码:十进制、十六进制 ASCII码或Unicode字符编码
                           样式为:“&#数值;”
                       例如: <    可以编码为  &#060; &#x3c
    3.URL编码
           两次URL全编码


    三:

    xss挑战  网址:
    http://xss.tesla-space.com/

    参考答案:

    人的痛苦源于对自己无能的愤怒!
  • 相关阅读:
    由@Convert注解引出的jackson对枚举的反序列化规则
    List.contains()与自动拆箱
    Utf-8+Bom编码导致的读取数据部分异常问题
    ResouceUtils.getFile()取不到Jar中资源文件源码小结
    Java自动装箱中的缓存原理
    Javaconfig形式配置Dubbo多注册中心
    logback多环境配置
    Spring @Scheduled @Async联合实现调度任务(2017.11.28更新)
    Nginx的Access日志记录的时机
    Mysql索引引起的死锁
  • 原文地址:https://www.cnblogs.com/cx-ajun/p/10346636.html
Copyright © 2011-2022 走看看