开源一个反sql注入的asp.net core中间件
现在公安有一个专门负责信息安全的部门,前几天公司就收到了一个整改通知,防sql注入的整改。
我们公司开始对网站进行了简单的测试,普通的sql都能检测出来。
但还是被发了整改通知,肯定有些sql注入的方法没测出来,于是我就开始查找了sql注入的手法。
sql注入主要有:基于注释、基于一般错误、基于时间、联合查询、身份认证绕过。
网站常用请求注入有三种:普通的GET请求、表单POST提交,json格式POST提交。
经几天的努力,将防sql功能做出来了,并且做成了一个中间件。
使用nuget ,项目引用 ToolGood.SQLFirewall
在main方法中使用
app.UseSQLFirewall_ServerHeader("ToolGood"); //替换头信息,减少服务器信息
app.UseSQLFirewall(SQLFirewallType.MsSQL); //使用防sql注入
忽略部分url检测,代码如下
app.UseSQLFirewall(SQLFirewallType.MsSQL, "/Admins/Logs/Ajax/GetLoginList", "/Admins/User/Ajax/*");
注:星号为通配符,放在路径最后一位有效。
代码:https://github.com/toolgood/ToolGood.SQLFirewall
参考:https://github.com/payloadbox/sql-injection-payload-list
====================================================================================================
防sql注入有两个简单的方法,使用带参数的sql语句和使用存储过程。
但老项目不一定按这个逻辑来,可使用参考反向代理,穿一件反sql注入外套。
代码:https://github.com/toolgood/ToolGood.SQLFirewall/tree/main/ToolGood.Navigation
开源一个反sql注入的asp.net core中间件的更多相关文章
- [W3bsafe]分享一个爬SQL注入漏洞的工具
分享一个爬SQL注入的工具 本文转自:i春秋社区由团队核心成员若间开发把工具放到E盘的一个文件夹 他会自动生成一个文本文件 Result.txt 最大页数 自己想弄填多少就填多少关键词 注入点关键词 ...
- 如何一秒钟从头构建一个 ASP.NET Core 中间件
前言 其实地上本没有路,走的人多了,也便成了路. -- 鲁迅 就像上面鲁迅说的那样,其实在我们开发中间件的过程中,微软并没有制定一些策略或者文档来约束你如何编写一个中间件程序, 但是其中却存在者一些最 ...
- ASP.NET Core 中间件的使用(二):依赖注入的使用
写在前面 上一篇大家已经粗略接触了解到.NET Core中间件的使用:ASP .Net Core 中间件的使用(一):搭建静态文件服务器/访问指定文件, .NET Core框架中很多核心对象都是通过依 ...
- ASP.NET Core中间件实现分布式 Session
1. ASP.NET Core中间件详解 1.1. 中间件原理 1.1.1. 什么是中间件 1.1.2. 中间件执行过程 1.1.3. 中间件的配置 1.2. 依赖注入中间件 1.3. Cookies ...
- ASP.NET Core中间件实现分布式 Session(转载)
ASP.NET Core中间件实现分布式 Session 1. ASP.NET Core中间件详解 1.1. 中间件原理 1.1.1. 什么是中间件 1.1.2. 中间件执行过程 1.1.3. 中间件 ...
- ASP.NET Core中间件(Middleware)实现WCF SOAP服务端解析
ASP.NET Core中间件(Middleware)进阶学习实现SOAP 解析. 本篇将介绍实现ASP.NET Core SOAP服务端解析,而不是ASP.NET Core整个WCF host. 因 ...
- [转]ASP.NET Core 中间件详解及项目实战
本文转自:http://www.cnblogs.com/savorboard/p/5586229.html 前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际 ...
- ASP.NETCore学习记录(二) —— ASP.NET Core 中间件
ASP.NET Core 中间件 目录: 什么是中间件 ? IApplicationBuilder 使用 IApplicationBuilder 创建中间件 Run.Map 与 Use 方法 实战中间 ...
- ASP.NET Core 中间件基本用法
ASP.NET Core 中间件 ASP.NET Core的处理流程是一个管道,而中间件是装配到管道中的用于处理请求和响应的组件.中间件按照装配的先后顺序执行,并决定是否进入下一个组件.中间件管道的处 ...
- (4)ASP.NET Core 中间件
1.前言 整个HTTP Request请求跟HTTP Response返回结果之间的处理流程是一个请求管道(request pipeline).而中间件(middleware)则是一种装配到请求管道以 ...
随机推荐
- [FAQ] GitHub 开启二次验证之后,如何通过 https clone 项目 ?
在 Github Personal Access Tokens 页面,点击生成一个新的 tokon. 此时使用这个 token 作为用户的密码来 clone 项目.
- WPF 对接 Vortice 调用 D2D 使用 IWICBitmap 离屏渲染
通过 Vortice 库可以使用非常底层的方式调用到 Direct2D1 进行渲染,本文将使用 D2D 离屏渲染到 IWICBitmap 上,再使用一点点反射黑科技,直接将此 IWICBitmap 对 ...
- 关于多个 Cookie 的分隔符这件事
对于 Cookie 的处理上,我最近遇到一个问题,那就是如何分割 Cookie 的内容.有人说是使用逗号分割,有人说是使用分号分割,究竟用哪个才是对的?其实这个答案是需要分为两个过程,分别是请求和响应 ...
- dotnet 通过 DockerfileContext 解决项目放在里层文件夹导致 VisualStudio 构建失败
本文告诉大家,如何解决 csproj 项目文件放入到里层的文件夹,不放在 sln 所在文件夹的第一层子文件夹,导致 VisualStudio 2022 在构建 docker 映像提示找不到文件的问题 ...
- supervisor 的安装与使用
学习视频: https://www.bilibili.com/video/BV1Vi4y147Fm?from=search&seid=8875783979034550201 更多说明: htt ...
- 鸿蒙Blank
Blank组件占剩余空间,类似占位组件一样
- Unity Visual Scripting 使用随记
1.Wait Until并不会再执行前面的代码,而是反复执行获取bool变量的代码:需自己拆出来写. 2.yield return null对应Wait For Next Frame,多用这个避免协程 ...
- python 日志 logging模块详解
1.基本使用 配置logging基本的设置,然后在控制台输出日志, import logging logging.basicConfig(level=logging.INFO, format='%(a ...
- Django测试与持续集成:从入门到精通
title: Django测试与持续集成:从入门到精通 date: 2024/5/18 16:38:41 updated: 2024/5/18 16:38:41 categories: 后端开发 ta ...
- 微信小程序订阅消息开发指南(java)
微信小程序订阅消息开发指南(java) 第一步 准备阶段 1.你得有一个小程序,并且认证了,个人的也行 2.开通订阅消息 小程序后台->功能->订阅消息 3.公共模板库选择一个模板 选择的 ...