.Net CSRF 跨站点请求伪造漏洞

问题背景:由于公司需要整改的老系统的漏洞检查,而系统使用的是.Net 4.6.1的框架,无法使用最新的.Net Core官网的文档解决。

解决方法:网上查了很多资料,有用 Referer 过滤器全局过滤请求头,也有用 http请求都带token中验证。最先用了Referer全局过滤伪造的跨域请求域名,发现还是无法通过CSRF检测。最后使用了服务端返回Token给到form前端,后端对Post请求进行校验,发现可以解决问题。

前端代码:

@using (Html.BeginForm("Index", "Search", FormMethod.Post, new { id = "SearchForm", name = "SearchForm" }))
{
    @Html.AntiForgeryToken()
}

后端代码:

public class SearchController   
{     
    [Post]
    [ValidateAntiForgeryToken]
    public ActionResult Index()
    {
        return view();
    }
}

相关推荐

  1. .Net CSRF 站点请求伪造漏洞

    2024-01-18 12:42:02       51 阅读
  2. 请求伪造 CSRF 漏洞原理以及修复方法

    2024-01-18 12:42:02       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-18 12:42:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-18 12:42:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-18 12:42:02       82 阅读
  4. Python语言-面向对象

    2024-01-18 12:42:02       91 阅读

热门阅读

  1. QT基础篇(9)QT5文件及磁盘处理

    2024-01-18 12:42:02       66 阅读
  2. 6.【CPP】Date类的实现

    2024-01-18 12:42:02       46 阅读
  3. 用Python实现给图片去黑边

    2024-01-18 12:42:02       47 阅读
  4. Nginx三种虚拟主机配置

    2024-01-18 12:42:02       47 阅读
  5. Python 语法糖

    2024-01-18 12:42:02       55 阅读
  6. 分布式拒绝服务攻击(DDoS)| 防御 | 监测

    2024-01-18 12:42:02       54 阅读
  7. What is `StringEscapeUtils.escapeHtml4` does?

    2024-01-18 12:42:02       53 阅读
  8. 电脑访问网站受限怎么办

    2024-01-18 12:42:02       68 阅读
  9. 【Unity】ComputeShader丢失处理数据的bug

    2024-01-18 12:42:02       60 阅读
  10. 【CEGE0052】Spatial Databases and Data Management

    2024-01-18 12:42:02       55 阅读