CVE-2019-25280CVE-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参数中,每次访问都会触发执行。