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

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

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

前端代码:

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

后端代码:

cs 复制代码
public class SearchController   
{     
    [Post]
    [ValidateAntiForgeryToken]
    public ActionResult Index()
    {
        return view();
    }
}
相关推荐
不灭锦鲤3 小时前
网络安全学习(面试)
学习·安全·web安全
View121384 小时前
在 .NET 中使用 Moonshot Kimi + AgentFramework:从 SDK 到 Agent 的完整实践
c#·agent·kimi
FlDmr4i285 小时前
.NET 10 & C# 14 New Features 新增功能介绍-扩展成员Extension Members
开发语言·c#·.net
QJtDK1R5a7 小时前
C# 14 中的新增功能
开发语言·c#
csdn_aspnet9 小时前
在 ASP.NET Core 中使用自定义属性实现 HTTP 请求和响应加密
http·asp.net·.netcore
雨浓YN9 小时前
WebApi 通讯-DeepSeek API调用文档
c#
不灭锦鲤9 小时前
网络安全学习(面试题)
学习·安全·web安全
lingggggaaaa10 小时前
PHP原生开发篇&文件安全&上传监控&功能定位&关键搜索&1day挖掘
android·学习·安全·web安全·php
yuan1999710 小时前
C# 断点续传下载文件工具设计与实现
开发语言·c#
Chockmans10 小时前
春秋云境CVE-2018-12613
安全·web安全·网络安全·春秋云境·cve-2018-12613