### 漏洞概述 该漏洞是一个跨站脚本(XSS)漏洞,发生在 `ShowBase64Offsets` 操作中。漏洞原因是未对用户输入进行适当的转义处理,导致恶意脚本可以被注入并执行。 ### 影响范围 - **受影响文件**:`src/core/operations/ShowBase64Offsets.mjs` - **影响功能**:在展示 Base64 编码的偏移量时,如果输入包含特殊字符,可能会触发 XSS 攻击。 ### 修复方案 - **修复文件**:`src/core/operations/ShowBase64Offsets.mjs` - **修复内容**: - 在生成 HTML 输出时,对所有用户输入进行转义处理,防止恶意脚本注入。 - 具体修改包括在多个地方添加 `Utils.escapeHtml()` 函数调用,确保所有用户输入都被正确转义。 ### POC 代码 ```javascript { name: "Show Base64 offsets: escapes static output", input: "vWbVx16Vx83Vx19Vx51Vx87", expectedOutput: "<script>\n<!--AqmsRk66v&k1:1x1AE1ME-->\n", recipeConfig: [ { op: "Show Base64 offsets", args: ["ABCDEF0123456789JKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", false, "Raw"], }, ], }, ``` ### 总结 该漏洞通过未转义的用户输入导致 XSS 攻击,修复方案是在生成 HTML 输出时对所有用户输入进行转义处理,确保安全性。