cwe - 1385:失踪的起源验证WebSockets
描述
产品使用了WebSocket,但它不正确验证数据的来源或沟通是有效的。
扩展描述
尚提供一个双向低延迟通信(实时)在客户端和服务器之间。尚是不同于HTTP连接长寿,英吉利海峡将保持开放,直到客户机或服务器准备好发送消息,而在HTTP,一旦发生反应(这通常是立即发生),交易完成。
WebSocket可以利用现有的HTTP协议在端口80和443,但它并不局限于HTTP。WebSockets可以使跨源请求不受限制的基于浏览器的同源策略等保护机制(SOP)或跨源资源共享(歌珥)。没有明确的起源验证,这使得CSRF攻击更强大。
替代条款
跨站点WebSocket劫持(CSWSH): |
这个术语是用来攻击,利用这个弱点 |
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 可用性 不可抵赖性 访问控制
|
技术的影响:不同的上下文;获得特权或假设的身份;旁路保护机制;阅读应用程序数据;修改应用程序数据;DoS:崩溃,退出或重新启动
后果将取决于自然容易CSRF的功能。攻击者可以有效地执行任何操作的受害者。如果受害人是管理员或特权用户,其后果可能包括获得完全控制web应用程序-删除或窃取数据,卸载产品,或用它来启动其他攻击的所有产品的用户。因为攻击者有受害者的身份,CSRF的范围是有限的,只有受害者的特权。 |
|
观察到的例子
参考 |
描述 |
|
web控制台SIEM产品不检查起源头,允许跨站WebSocket劫持(CSWH) |
|
链:游戏客户端试图验证原点头,但只使用一个字符串,允许跨站点WebSocket劫持通过强制要求一个主机名的起源是一个有效的子串。 |
|
WebSocket服务器不检查请求的起源,允许攻击者窃取开发人员的代码使用ws: / / 127.0.0.1:3123 /连接。 |
|
WebSocket服务器不检查请求的起源,允许攻击者窃取开发人员的代码使用ws: / / 127.0.0.1 /连接到一个随机的端口号。 |
|
WebSocket服务器不检查请求的起源,允许攻击者窃取开发人员的代码使用ws: / / 127.0.0.1:8080 /连接。 |
潜在的缓解措施
实施阶段:
使CORS-like访问限制通过验证“起源”头在WebSocket握手。 |
实施阶段:
使用一个随机CSRF令牌验证请求。 |
实施阶段:
使用TLS安全通信使用wss (WebSocket安全)而不是“ws”。 |
阶段:体系结构和设计;实现
需要用户身份验证之前所建立的WebSocket连接。例如,WS图书馆节点“verifyClient”功能。 |
实施阶段:
杠杆率限制,防止对DoS。漏桶算法的使用可以为此提供帮助。
|
实施阶段:
使用一个库,提供了载荷大小的限制。例如,WS库节点包括“maxPayloadoption”,可以设置。
|
实施阶段:
治疗数据/输入在两个方向上都是不可信的,应用相同的输入数据/卫生处理XSS, SQLi等等。 |
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞) |
原因:可接受的使用 |
理由是: 这个CWE条目是变体的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。 |
评论: 仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。 |
引用
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|