zoukankan      html  css  js  c++  java
  • MVC站点安全开发

    一、XSS攻击

      默认情况下,从@表达式生成的所有文本都是HTML编码过的,但由于某些情况下要显示HTML文本时,必须对于进行白名单过滤。
      使用微软的 HtmlSanitizationLibrary.Dll库进行白名单过滤
      Sanitizer.GetSafeHtmlFragment(InputHtml);

    二、SQL注入

      对所有的SQL语句及参数进行全面的过滤

    三、防止CSRF(跨网站请求伪造),只针对POST请求

      Action前加入[ValidateAntiForgeryToken(Salt ="密钥")]
      在Form表单中加入@Html.AntiForgeryToken("密钥");

    四、Cookie窃取

      对用户输入进行过滤,避免被截持Cookie,避免被绕过过滤

    五、其他细节

      1.CustomErrors Mode=“on",发布网站时必须为On,避免错误暴露
      2.[nonaction]锁定不开放的Action
      3.[AcceptVerbs(HttpVerbs.Post)]限定页面的访问形式

    http://www.cnblogs.com/htht66/archive/2012/01/29/2330831.html

    内容介绍

    -          常见网络安全攻击隐患

    -          针对asp.net mvc防御体系

    预备知识

    -          安装VS2010

    -          了解ASP.NET

    -          了解Ajax基础知识

    -          了解设计模式基本概念

    安全性策略

    SQL注入攻击

    跨站脚本攻击

    1 任何时候接受用户输入的时候都必须做好Encode,把所有的html标记去了.

    2 永远不要对任何人使用不加检查的html操作输入

    3 对cookie进行

    常见攻击方式及其防范

    ·跨站脚本攻击

    ·跨域请求

    ·Cookie窃取

    ·超载攻击方式

    Cross-site scripting (XSS

    - 跨站脚本攻击

    使用XSS与CSS区别开

    有两种,一种用户输入的信息有恶意脚本,信息没有过滤保存到数据库里面了。任何用户访问这个网页都可以看到这个脚本,所以就导致攻击了。这种称为被动攻击,因为被攻击者需要自己去查看这些信息。

    另一种是主动攻击直接把信息推到用户端去。

    被动攻击常见是使用iframe 的 src 到另一个网址。

    主动注入常见篡改IE主页

    避免XSS的办法

    使用HTML.Encode来实现格式化所以内容

    <%html.Encode(Model.FirstName)%>

    <%:Model.FirstName)%> (mvc2 特性)

    @webform已经内嵌Encode

    Javascript 编码

    对Url 传递过来的参数加以过滤

    跨站请求

    通过欺骗用户的浏览器来实现的。攻击者通过构造恶意代码,让浏览者替代攻击者去攻击其他目标网站。称为借刀杀人。

    避免跨站欺骗攻击

    盗用cookies

    -          Session cookies-

    -          序列化cookies

    持久化cookies的窃取

    避免cookie被盗

    httpOnly=true,意思是只可在服务端进行读写;在客户端读取,不可写。

    可以在webconfig中设置。

    关于重复提交、

    使用白名单或者黑名单,限制那些列不可修改。、

    避免暴露错误信息

    发布网站改为On

    保护你的controller

    -【Authorize】来锁定你的Action

    -【nonaction】来锁定所有不开发的Action

    即没有Action的函数,供内部使用的函数。

    总结

    跨站脚本攻击

    注入攻击

    Cookies盗取

  • 相关阅读:
    vue中路由跳转传递参数
    父组件向子孙组件传递数据provide/inject
    微信、QQ等内置浏览器定位失败
    Java ArrayList类
    java 生成 [1, n] 之间的随机数
    Java 构造方法
    Java this关键字
    Java private关键字及作用
    Java 随笔
    Java 内存划分
  • 原文地址:https://www.cnblogs.com/8090sns/p/2936235.html
Copyright © 2011-2022 走看看