.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();
    }
}
相关推荐
上海云盾商务经理杨杨16 分钟前
2026年DDoS攻防新纪元:全面解析攻击的智能化升级与防护的体系化革命
网络·web安全·网络安全·ddos
工程师00717 分钟前
C# 动态编程(基于 dynamic 类型)
开发语言·c#·dynamic·动态编程
用户2986985301422 分钟前
C#: 在Word文档中添加或移除可编辑区域
后端·c#
William_cl1 小时前
ASP.NET Core 视图组件:从入门到避坑,UI 复用的终极方案
后端·ui·asp.net
携欢2 小时前
[特殊字符] 一次经典Web漏洞复现:修改序列化对象直接提权为管理员(附完整步骤)
前端·安全·web安全
爱说实话2 小时前
C# 2026
c#
Lethehong2 小时前
第二届“启航杯“网络安全挑战赛开始啦!
安全·web安全·ctf·启航杯
lifejump3 小时前
Pikachu | Unsafe Filedownload
前端·web安全·网络安全·安全性测试
William_cl3 小时前
ASP.NET Core ViewData:弱类型数据交互的精髓与避坑指南
后端·asp.net·交互
flysh053 小时前
关于C#编程中的async / await关键字
开发语言·c#