漏洞简介
上海孚盟软件有限公司是一家专业的外贸SaaS服务和行业解决方案提供商。其旗下产品孚盟云AjaxProductFiled.ashx接口存在SQL注入漏洞,未经身份验证的远程攻击者除了可以利用 SQL注入漏洞获取数据库中的信息(例如,管理员后台密码、站点的用户个人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限。
影响版本
fofa语法
app="孚盟软件-孚盟云"
漏洞分析
直接看 AjaxProductFiled.ashx 对应的dll文件 FumaCRM_BS.NewWeb.dll 里有关 AjaxProductFiled 方法的实现如下
public void ProcessRequest(HttpContext context)
{
try
{
context.Response.ContentType = "text/plain";
string str = context.Request["method"].ToString();
context.Request["MouldID"].ToString();
if (!string.op_Equality(str, "savePuductFiled"))
return;
this.savePuductFiled(context);
}
当 method=savePuductFiled 时,进入savePuductFiled方法
public void savePuductFiled(HttpContext context)
{
string MouldID = context.Request["MouldID"].ToString();
DataTable dataTable = this.GetsyFieldGroup(MouldID);
继续跟进 GetsyFieldGroup 方法
public DataTable GetsyFieldGroup(string MouldID)
{
return this.dbHelper.Query($"select FUID, MouldID, GroupName, OrderNo from dbo.syFieldGroup WHERE MouldID= '{MouldID}' ORDER BY OrderNo").Tables[0];
}
最终可以看到,未经过滤或参数化绑定的参数 MouldID 被直接拼接进SQL语句中进行执行,造成SQL注入漏洞。
漏洞复现
GET /m/Dingding/Ajax/AjaxProductFiled.ashx?method=savePuductFiled&MouldID=SQLI_POC HTTP/1.1
Host: fumacrm.mrxn.net

成功延时 5 秒

