.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 小时前
C#基础数据类型
c#·数据类型
唐青枫4 小时前
C#.NET YARP 跨域配置详解:网关统一处理 CORS
c#·.net
其实防守也摸鱼6 小时前
ctfshow--Crypto(funnyrsa1-密码2)解题步骤
python·安全·web安全·网络安全·密码学·web·工具
程序leo源7 小时前
Qt信号与槽深度详解
c语言·开发语言·数据库·c++·qt·c#
夏天测8 小时前
2026 年 5 月中旬网络安全深度预警:高危漏洞集中爆发、零日攻击常态化,企业面临多重安全挑战
安全·web安全
QCzblack8 小时前
文件上传upload
web安全
超級二蓋茨9 小时前
asp.net core中JwtBearerEvents中几个事件的生命周期
java·服务器·asp.net
晓梦林10 小时前
HiddenGate靶场学习笔记
笔记·安全·web安全
六月雨滴11 小时前
Oracle 数据库网络安全之加密配置
数据库·web安全·oracle
yoyo_zzm12 小时前
四大编程语言对比:C/C++/C#/PHP
c++·c#·php