zoukankan      html  css  js  c++  java
  • XSS(笔记1)

    概念

            跨站脚本(Cross-Site Scripting,XSS) 发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中出现了不被预期的脚本指令并执行时,XSS就会发生。为防止与层叠样式表(Cascading Style Sheets,CSS)混淆,因此缩写为XSS进行区分。

    基本原理

    1.攻击者对某含有漏洞的服务器发起XSS攻击(注入JS代码)

    2.诱使受害者打开受到攻击的服务器URL(邮件、留言等,此步骤可选项)

    3.受害者在Web浏览器中打开URL,恶意脚本执行。

    XSS跨站脚本实例

    1.简单的html代码

      <html>

        <head></head>

        <body>

          <script> alert ("XSS")</script>

        <body>

      </html>

     HTML的script元素标记中间包含JavaScript,当浏览器遇到这一标记时,它不会将其内容处理成HTML或者XHTML,而是把对于其内容的控制权移交给另一个内置的浏览器代理——脚本处理引擎。又,Web浏览器本身的设计是不安全的,它只负责解释和执行JavaScript等脚本语言,而不会判断代码是否有害。

    So,类似于SQL注入,当一个HTML页面能够被攻击者插入JS脚本,那么攻击便开始了。

    上面的横线是js代码,深入一下xss如若是HTML代码段也照常运行:

      持续刷新:  <meta http-equiv=”refresh“ content= ”0;" >

      嵌入其他网站URL:  <iframe src=http://www.baidu.com   witdth=0 height=0> </iframe>

    2.攻击实例

    正常操作:将a.html的输入的参数传递给b.html并显示

    PS:不想用PHP或者其他通过服务器后台的方式传参,因此简单的使用JS脚本实现参数的传递。未用表单。

    a.html

      <html>

        <head>

          <title>a.html</html>

        </head>

        <body>

          <input type="text" id="input" >  </value>

          <input type="button" value="go"  onclick="go()"/>

        </body>

        <script>

          function go(){

              var input = document.getElementById("input").value;

              window.location.href ="b.html?input="+encodeURL(input);

          }

        </sscript>

      </html>

    b.html

      <html>

        <head>

          <title>b.html</title>

        </head>

        <body onload="onload()">

        </body>

        <script>

          function onload(){

            var parma =document.URL.split('?')[1];

            var paramValue =parma.split("=")[1];

            document.write("<div>"+decodeURL(paramValue)+"</div>");

          }

        </script>

      </html>

    case1:正常输入 点击”go“ 

    result:显示输入内容

    case2:输入"<script>alert(/XSS/);</script>" 点击”go“

    result:JS脚本被执行,弹出对话框

    即:假如我们通过构造特殊打的输入信息,使其一部分内容被当做JS脚本执行,XSS攻击便产生了。

    XSS漏洞危害

        早期,XSS危害性并不为人所认识,大多就是弹弹对话框、盗取Cookie或者网页挂马。

        通常的做法是,攻击者先通过注入诸如alert("XSS")之类的JS来证明存在XSS,然后利用该XSS巴拉巴拉。。。

        XSS危害特点:不如SQL注入之类直接危害大,但使用灵活。

    危害总结:

        1.网络钓鱼,盗取各类用户的账号

        2.窃取用户Cookie,获取用户隐私,或者利用用户身份进一步执行操作

        3.劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志等

        4.强制弹出广告页面,刷流量等

        5..进行恶意操作,例如任意篡改页面信息,删除文章等,传播跨站脚本蠕虫,网页挂马等

        6.进行基于大量的客户端攻击,如DDOS攻击

        7.结合其它漏洞,如CSRF漏洞。

        8.进一步渗透网站

      

         

  • 相关阅读:
    366. Find Leaves of Binary Tree输出层数相同的叶子节点
    716. Max Stack实现一个最大stack
    515. Find Largest Value in Each Tree Row查找一行中的最大值
    364. Nested List Weight Sum II 大小反向的括号加权求和
    156. Binary Tree Upside Down反转二叉树
    698. Partition to K Equal Sum Subsets 数组分成和相同的k组
    244. Shortest Word Distance II 实现数组中的最短距离单词
    187. Repeated DNA Sequences重复的DNA子串序列
    java之hibernate之基于主键的双向一对一关联映射
    java之hibernate之基于主键的单向一对一关联映射
  • 原文地址:https://www.cnblogs.com/klsfct/p/9063926.html
Copyright © 2011-2022 走看看