代码审计 | .NET SqlSugar框架注入漏洞

01阅读须知

此文所节选自小报童《.NET 代码审计》专栏,主要内容有涉及的.NET目录和文件操作、SQL注入方向的敏感函数、还有不安全的配置导致的漏洞挖掘思路,对.NET代码审计感兴趣的朋友们可以解锁该电子报刊,解锁更多的报刊内容。

02基本介绍

03漏洞敏感函数

SqlSugar 是一款针对国内.NET环境的开源ORM框架,支持多库架构,兼容众多数据库系统,包括MySql、SqlServer、PostgreSQL、Oracle、Sqlite、Firebird、ClickHouse、QuestDB、达梦、南大通用GBase、神通、人大金仓、虚谷、翰高、华为GaussDB以及MsAccess等,同时允许用户自定义适配其他数据库。

以下是一个以GetList方法为例的示例代码,展示了攻击者如何向MappingColumn方法注入SQL

复制代码
public IActionResult GetData(string name)
{
    var list = _db.Queryable<UserInfo>()
                  .Where(it => it.NickName.Contains(SqlFunc.MappingColumn<string>(name)))
    return Ok(list);
}

这段代码是一个ASP.NET Core控制器中的方法,用于从数据库中获取与给定名称匹配的用户信息,并将其作为响应返回。其中_db是一个数据库上下文对象,用于与数据库进行交互。在这里,它应该是通过依赖注入获得的数据库上下文实例。

SqlFunc.MappingColumn<string>(name)是一个映射函数,用于将传入的name参数映射为SQL查询中的列,而SqlSugar的SqlFunc.MappingColumn方法具有在查询中禁用参数化查询的功能。若开发者在使用此方法时从外部传入参数,则会产生SQL注入的风险。当我们提交包含注入的负载时,便会返回当前数据库版本号,如图所示。

想要了解更多内网权限维持的文章,可以移步订阅小报童《.NET 代码审计》电子报刊。

04**.NET 电子报刊**

电子报刊【.NET代码审计】正式运营,该专栏也是为了广大安全爱好者搭建一个深度交流与学习的平台,本专栏致力于审计或挖掘.NET Web应用中的安全漏洞,通过分享最新的审计技术、不安全配置及敏感函数,助力读者快速掌握.NET漏洞挖掘的精髓。引入小报童也是为了弥补知识星球对于轻量级阅读支持的不足,为用户读者提供更佳的阅读体验。

本次电子报刊《.NET代码审计》专栏,内容主要介绍.NET代码审计时需要注意的漏洞函数,具体可细分为以下3个方向。

复制代码
1) 介绍.NET审计思路之配置项引发的漏洞
2) 触发.NET SQL注入漏洞敏感函数
3) 触发.NET 目录和文件操作漏洞函数。

我们会长期更新,初步计划保持每周更新1-2篇新内容,与.NET代码审计感兴趣的安全的朋友们一起成长。

相关推荐
九硕智慧建筑一体化厂家3 小时前
数字化管控落地,直流照明构筑安全照明体系
运维·人工智能·笔记·安全·智慧城市
chunmiao30325 小时前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全
湘美书院--湘美谈教育6 小时前
湘美书院主理人谈AI文学:提示词与Skill的与时俱进
大数据·人工智能·安全·自动化·生活
hz567896 小时前
视频会议终端对接详解:协议兼容、系统集成与常见问题
安全·实时音视频·信息与通信
安全指北针6 小时前
AI编程工具供应链安全实战:当你的AI编码助手成为跳板
人工智能·安全·ai编程
迪康Defender7 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
XR1234567887 小时前
医院网络安全与等保合规选型指南
安全·web安全
LPCK_202606229 小时前
企业智能体可信安全架构:知识硬约束、执行层拦截与人工终审的技术实现
人工智能·安全·安全架构
唐青枫9 小时前
别把 ImmutableArray 当成只读 List:C#.NET 不可变数组深入详解
c#·.net
Bruce_Liuxiaowei9 小时前
基于微步在线威胁情报的公网 IP 攻击迹象监测:threatbook_query 脚本全解析与 BruceSec 平台整合实践
数据库·tcp/ip·安全·网络安全·智能体