这里添加一个onload,内容是跳转到天猫。

5.点击发送

6.在network中我们检查请求内容,会看到一个message

京东IM web客户端的文件上传致任意JS执行

将其转码后我们得到

京东IM web客户端的文件上传致任意JS执行

在这里,我们看到图片上的onload事件并没有被过滤掉,在客服端会直接执行。

客服端的工作人员证实了代码执行。

京东IM web客户端的文件上传致任意JS执行

再次发现问题,聊天记录竟然是存库的!

在我的京东》消息精灵里,代码输出也没过滤


京东IM web客户端的文件上传致任意JS执行


修复方案:

对于用户提交的内容进行更加严格的过滤,去除在一些媒体元素上的onload onerror等事件