CVE-2024-23998 漏洞的验证概念。
步骤 1) 在 Setting.vue 中,存在 v-html 函数,因此恶意 JS 脚本可以通过此函数运行。
步骤 2) 当我们安装 Another Redis Desktop Manager 时,Windows 安全机制会阻止安装。因此,如果攻击者修改了安装文件,用户将无法察觉文件已被篡改。
步骤 3) 我们可以在 en.js 文件中找到字体 FAQ 消息
步骤 4) 让我们修改这条消息以执行 calc.exe\
font_faq: '1. Multiple fonts can be set<br>\
2. Font selection is orderly. It is suggested to choose English font first and then font in your language<br>\
3. When the system font list cannot be loaded in some exceptional cases, you can enter the installed font name manually.\
',
步骤 5) 使用 npm 构建程序。\
npm install --platform=win32
npm start
npm run electron
步骤 6) 当鼠标光标悬停在字体系列帮助图标上时,计算器将被启动。

AnotherRedisDesktopManager 对攻击者来说是一个很好的目标,因为它被许多人使用,并且以 Electron 应用形式分发,易于修改和重新分发。这就是许多项目建议尽可能避免使用 v-html 的原因。此外,由于 nodeIntegration 选项已启用,如果它被恶意修改并分发,则可能以 AnotherRedisDesktopManager 的权限实现远程代码执行。