osTicket CSRF bypass via GET-based _method override in dispatcher 漏洞概述 osTicket 的 脚本存在逻辑缺陷,允许攻击者通过 GET 请求绕过 CSRF 验证。 原理:脚本原本设计为仅读取 来覆盖 HTTP 方法(如将 POST 变为 DELETE),但代码中错误地使用了 。 利用条件:由于 CSRF 检查发生在方法覆盖之前,且仅验证 POST 请求,攻击者可以通过在工单中嵌入包含 的恶意图片链接,诱导管理员在浏览器中发起 GET 请求,从而触发 DELETE 操作。 影响范围 受影响组件: 攻击场景:攻击者提交工单,工单内容包含指向 的恶意图片链接(GET 请求携带 )。 后果:当管理员(Staff agent)打开该工单时,浏览器会自动加载图片,导致工单被删除。 修复方案 修改 中的代码,将读取参数的来源从 改为 。 具体修改:将 更改为 。 效果:由于 GET 请求无法设置 POST 请求体,攻击者无法再通过 GET 请求覆盖方法,从而修复了漏洞。 POC / 利用代码