引言
B***是一款基于.NET WebForm开发的计费软件,近日看到网上曝光B***存在SQL注入漏洞CVE-2021-4***,结合xp_cmdshell可以实现RCE。官方下载需要注册,通过搜索引擎找到了老版本软件安装包,完成安装后,对漏洞进行了简单分析。
漏洞分析
漏洞本身比较简单。查看登录页面`Default.aspx`:
<%@ Page Language="vb" AutoEventWireup="false" Inherits="WebSuite.wbFrmLogin" EnableViewStateMac="true" CodeBehind="Default.aspx.vb" %>
登录处理类为`WebSuite.wbFrmLogin`,定位登录服务端控件:
反编译找到`WebSuite.wbFrmLogin`类:
进入函数`cmdOK_Click`,第23行调用`mdlGProc.gf_LoginValidateCode`:
进入:
完成诸如数据库连接字符串等提取后,进入第8894行:
进入函数`mdlGProc.gf_IsWebUser`,其中参数`pUserID`来自于登录口输入的`txtID`:
直接将参数拼接进入`pString`数据库查询语句,然后带入`mdlGDataAccess.gf_ExecuteQueryScalar`完成数据库查询,从而导致SQL注入。
漏洞复现
由于传播、利用此文档提供的信息而造成任何直接或间接的后果及损害,均由使用本人负责,且听安全团队及文章作者不为此承担任何责任。
点关注,不迷路!
原文始发于微信公众号(且听安全):【最新漏洞预警】一步一步教你漏洞挖掘之某计费系统SQL注入漏洞分析