在一次安全测试中,偶然发现给问题 bui是一个前端框架,很多企业都在使用该框架构建自己的前端
通常我们防范xss的方法是会对用户输入统一按照不信任原则,在输出的时候进行转义,传递给前端页面进行展示 但是bui的select组件在展示这部分输出的时候,却将原本已经在转义好的用户输入又给转义了回去,造成xss的payload绕过了原有的安全机制,继续运行
附件中的例子来自于真实的案例
可以看到id为“workGroupList”的input标签中的数据已经做了转义, 下面的BUI.use在使用select组件时,调取了"workGroupList"中的数据,直接触发了我们输入的xss payload的执行
可以运行一下试试看