zoukankan      html  css  js  c++  java
  • 浅谈常见的Web攻防

    1、sql 注入

         一般都会采用拼sql的方法,这样是不安全的,可以伪造,出现同一结果

         解决方法:采用参数化的方式,或者就使用ORM等数据操作框架

    2、CSRF跨站请求伪造

          asp.net MVC中的解决方法:

       1.针对form表单的请求攻击,使用AntiForgeryToken令牌

          ASP.NET MVC 的HtmlHelper类为我们提供了一个防止CSRF的方法。在form表单中加入以下代码:

        @Html.AntiForgeryToken()

         官方文档解释为:生成一个隐藏的窗体字段(防伪标记),在提交窗体时将验证此字段。

          但仅仅这一行代码还不能实现令牌的验证,还需要在相应的动作方法上添加特性:Controllers方法上

        [ValidateAntiForgeryToken]

       2.针对Ajax Post请求攻击,同样是使用Token

        根据微软提供的防范方式,我们可以模仿一个类似的令牌,来验证。首先,在呈现需要请求Action的页面的时候,用一个Session保存Token:

           Session["Token"] = "1234";

        然后,在视图页面创建一个隐藏字段保存Token的值:

          <input id="token" type="hidden" name="token" value="@Session["Token"].ToString()" />

        在Ajax请求的时候将token的值放在Http的headers中:

          var headers = {};

          headers['__RequestAntiForgeryToken'] = $("#token").val();

     $.ajax({
            type: "POST",
            headers: headers,
            data: "id=" + id,
            url: '@Url.Action("ActionName")',
            success: function (data) {
                alert("请求成功")
            },
            error: function (e) {
                alert(e.responseText);
            }
        });

    3、XSS跨站脚本攻击

    在web领域,有几个比较常见的安全隐患,其中一个比较流行的就是跨站脚本攻击。一些恶意的用户通过一些手段让我们的站点加载一些恶意的脚本,那么如果其它用户访问到这些脚本就有可能成为受害者。除了脚本,包括active-x控件,甚至一些恶意的Html都可以成为XSS的武器。XSS可以做到哪里事情 ?

    1. 窃取cookie
    2. 更改用户设置
    3. 下载恶意软件
    4. 更改内容
    5. 账户劫持

    简单的说,我们可以通过XSS访问用户的个人信息以及身份信息

      当然,有些时候我们需要允许用户输入html,那么只要在我们的Action上打上ValidateInput(false)即可。

    通过为属性打上AllowHtml属性,我们可以允许某一个属性包含html的值,这样我们就可以移除Action上的ValidateInput属性。通过Html.Raw 我们可以将html输出到客户端

          http://www.2cto.com/article/201310/252114.html

  • 相关阅读:
    2019.2.19 区块链论文翻译
    2019.2.18 区块链论文翻译
    2019.2.15 区块链论文翻译
    2019.2.14 区块链论文翻译
    #在蓝懿学习iOS的日子#Day7
    #在蓝懿学习iOS的日子#Day6
    #在蓝懿学习iOS的日子#第二个练习日
    #在蓝懿学习iOS的日子#Day5
    #在蓝懿学习iOS的日子#第一个练习日
    #在蓝懿学习iOS的日子#Day3
  • 原文地址:https://www.cnblogs.com/gyjjyg/p/6831668.html
Copyright © 2011-2022 走看看