assigning cve request jeecgboot#1 滥用WebSocket消息发送功能
product: jeecgboot
url: https://github.com/jeecgboot/JeecgBoot
stars: 43.7k
English Report
Product: JeecgBoot
URL: /api/system/sendWebSocketMsg
Title: Broken Function Level Authorization in WebSocket Message Sending
Proof of Concept (POC):
-
An attacker logs in to the application with a low-privileged user account.
-
The attacker crafts a GET request to the following endpoint:
/api/system/sendWebSocketMsg
. -
The attacker includes the
userIds
parameter with the ID of a target user and themessage
parameter with arbitrary content.-
Example:
GET /api/system/sendWebSocketMsg?userIds=admin,user1,user2&message=This%20is%20a%20test%20message.
-
-
The application sends the WebSocket message to the specified users without verifying if the logged-in user has the permission to do so.
Effect:
This vulnerability allows any authenticated user to send arbitrary WebSocket messages to any other user within the system, including administrators. An attacker could exploit this to:
-
Impersonate administrators or the system itself to send malicious links or commands.
-
Conduct phishing attacks to steal credentials or sensitive information.
-
Spread misinformation or cause disruption within the application.
Finder: aibot88 @secsys from Fudan university
中文报告
产品名称: JeecgBoot
漏洞URL: /api/system/sendWebSocketMsg
漏洞标题: WebSocket消息发送功能存在失效的函数级授权漏洞
漏洞验证过程(POC):
-
攻击者使用一个低权限用户账户登录应用程序。
-
攻击者构造一个指向以下端点的GET请求:
/api/system/sendWebSocketMsg
。 -
攻击者在请求中包含
userIds
参数(值为目标用户的ID)和message
参数(值为任意内容)。-
例如:
GET /api/system/sendWebSocketMsg?userIds=admin,user1,user2&message=这是一个测试消息。
-
-
应用程序会向指定的用户发送WebSocket消息,而没有验证当前登录的用户是否拥有执行此操作的权限。
影响:
此漏洞允许任何经过身份验证的用户向系统内的任何其他用户(包括管理员)发送任意WebSocket消息。攻击者可以利用此漏洞进行以下恶意活动:
-
冒充管理员或系统发送恶意链接或指令。
-
进行网络钓鱼攻击,窃取用户凭证或敏感信息。
-
在应用程序内传播虚假信息或造成混乱。
发现者: aibot88 @secsys from Fudan university