快普M6 WebService/StaffService.asmx SQL注入漏洞


漏洞简介

快普M6整合管理平台的WebService/StaffService.asmx接口下多个方法存在SQL注入漏洞。攻击者可通过构造恶意SQL语句,绕过参数过滤机制,实现对数据库的任意查询、修改或删除操作,甚至可能获取系统控制权限。

影响版本

fofa语法

body="Resource/JavaScript/jKPM6.DateTime.js"

漏洞分析

根据漏洞通告,看下 WebService/StaffService.asmx 里的cs引用

<%@ WebService Language="C#" CodeBehind="StaffService.asmx.cs" Class="KPMIIS.Web.WebService.StaffService" %>

ok,根据引用去找到bin目录下的KPMIIS.Web.dll文件,反编译后找到WebService下的StaffService实现

[System.Web.Services.WebService(Namespace = "http://tempuri.org/")]
[ToolboxItem(false)]
[ScriptService]
[WebServiceBinding]
public class StaffService : System.Web.Services.WebService
{
  [WebMethod]
  public string GetPositionOfStaff()
  {
    string str = HttpContext.Current.Request.Form["sid"];
    DataRow row = Gateway.Default.FromCustomSql("select top 1 organization_name,position_id from dbo.COMMON_PositionToStaff p,dbo.COMMON_Organization o \r\n                                    where p.position_id=o.organization_id and staff_id=" + str).ToDataSet().Tables[0].Rows[0];
    return $"{row[0]},{row[1]}";
  }
}

参数sid,没有经过任何过滤或校验检查就被拼接进SQL语句中进行执行了,从而造成SQL注入漏洞,非常的朴实无华。

漏洞复现

因参数使用HttpContext.Current.Request.Form获取,使用常规的GET或POST传参即可

POST /WebService/StaffService.asmx/GetPositionOfStaff HTTP/1.1
Host: kuaipu.mrxn.net
Content-Type: application/x-www-form-urlencoded

sid=SQLI_POC

成功通过报错注入在响应回显数据库默认用户信息


手机扫码阅读

亿赛通-电子文档安全管理系统 DecryptApplication 多处SQL注入漏洞

西部数码 NAS snmp_mgr.cgi 多处命令执行漏洞

评 论