如何解决跨站点WebSocket劫持
我们最近完成了笔测试,并且报告返回时涉及跨站点WebSocket劫持问题。报告的问题与一次场景有关,在这种情况下,我们使用o:socket在会话超时时自动注销用户。
URL --omnifaces.push/sessionClose?5c4a1039-f22b-4c34-b97e-c676575a3f89
<o:socket channel="sessionClose" scope="session" onclose="sessionScopedSocketCloseListener" />
<script>
function sessionScopedSocketCloseListener(code) {
console.log(code);
if (code == 1000) {
document.getElementById('autologout').click();
}
}
</script>
描述说服务器无法验证HTTP升级请求中已通过身份验证的用户的Origin头,因此接受攻击者可以用来劫持双向WebSocket连接的跨域请求。这称为跨站点WebSocket劫持
- 可能的解决方案是在过滤器中检查来源。
- 内容安全策略是否可以:connect-src'self'或HTTP Server缓解该问题?
- 在JSF /套接字中,WebSocket只是服务器到客户端,而不是双向的。然后可以将此问题视为误报吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。