.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();
    }
}
相关推荐
Traced back4 小时前
WinForms 线程安全三剑客详解
安全·c#·winform
喵叔哟4 小时前
05-LINQ查询语言入门
c#·solr·linq
汉堡包0014 小时前
【网安基础】--内网代理转发基本流程(正向与反向代理)
安全·web安全·php
钰fly8 小时前
工具块与vs的联合编程(豆包总结生成)
c#
lingggggaaaa8 小时前
安全工具篇&Go魔改二开&Fscan扫描&FRP代理&特征消除&新增扩展&打乱HASH
学习·安全·web安全·网络安全·golang·哈希算法
c#上位机9 小时前
wpf之行为
c#·wpf
星夜泊客9 小时前
C# 基础:为什么类可以在静态方法中创建自己的实例?
开发语言·经验分享·笔记·unity·c#·游戏引擎
kylezhao201911 小时前
深入浅出地理解 C# WPF 中的属性
hadoop·c#·wpf
多多*11 小时前
2月3日面试题整理 字节跳动后端开发相关
android·java·开发语言·网络·jvm·adb·c#
贾修行11 小时前
企业级网络安全架构实战:从防火墙部署到远程办公全解析
web安全·架构·智能路由器