zoukankan      html  css  js  c++  java
  • Xss

     

     

    概念

            跨站脚本(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.进一步渗透网站

      

         

  • 相关阅读:
    touchesBegan: withEvent: <--- with UIScrollView / UIImageView
    #ifdef,#else,#endif,#if 拾忆
    内联函数 inline 漫谈
    WebKit框架 浅析
    在iOS中获取UIView的所有层级结构 相关
    initWithFrame、initWithCoder、awakeFromNib的区别和调用次序 & UIViewController生命周期 查缺补漏
    iOS 常用代码块
    NSObject Class 浅析
    Alamofire 框架浅析
    ReactiveX--响应式编程の相关概念 浅析
  • 原文地址:https://www.cnblogs.com/hlan/p/9063946.html
Copyright © 2011-2022 走看看