• 开源一个反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

     

  • 相关阅读:
    论文阅读_LMM 的黎明_GPT4_4V
    Servlet工作过程和生命周期
    Spring framework Day22:Aware接口
    【Golang开发面经】奇安信(两轮技术面)
    神经网络入门教程,现代神经网络教程
    BP神经网络参数设置总结
    讲透金融风控建模全流程(附 Python 代码)
    Django 用相对路径方式引用自定义模块 或 文件
    node.js笔记
    Unity Bolt模块间通信
  • 原文地址:https://www.cnblogs.com/toolgood/p/18261896