CVE-2023-53918CVE-2023-53918是PodcastGenerator 3.2.9版本中的一个存储型跨站脚本(Stored Cross-Site Scripting)漏洞。该漏洞存在于播客上传功能中的episode title字段,攻击者可以通过episodes_upload.php接口在episode标题中注入恶意JavaScript代码。由于该输入未经充分过滤和转义,恶意payload会被永久存储在服务器端。当具有管理权限的用户访问episodes_list.php页面查看播客列表时,注入的恶意脚本会自动执行,可能导致会话劫持、敏感信息窃取、恶意重定向等安全问题。由于攻击利用需要用户交互(管理员需查看受污染的页面),且攻击范围仅限于单页面上下文,CVSS评分定为6.1(中危)。
该漏洞源于PodcastGenerator 3.2.9在处理用户输入时缺乏适当的输入验证和输出编码。具体来说:
1. **漏洞位置**:episodes_upload.php文件中的episode title字段
2. **根本原因**:用户提交的episode标题数据在存储前未进行HTML实体转义(如将<、>、"、'等特殊字符转换为&lt;、&gt;、&quot;、&apos;)
3. **触发条件**:当管理员访问episodes_list.php页面时,之前存储的恶意payload会作为HTML内容直接渲染到页面中
4. **利用影响**:攻击者可利用此漏洞执行任意JavaScript代码,包括但不限于:
- 窃取管理员Cookie和会话令牌
- 伪造管理员操作(如添加删除播客、修改设置)
- 植入钓鱼链接或恶意重定向
- 键盘记录和表单数据捕获
5. **攻击前提**:攻击者需要能够访问episodes_upload.php上传功能,这在某些配置下可能不需要认证即可访问