我想使用WebSockets为我的应用程序进行进程间通信(Daemon < - > WebGUI和Daemon < - > FatClient等).在测试期间,我尝试通过websocket.org(http://www.websocket.org/echo.html)上的JavaScript WebSocket客户端连接到我本地运行的Web套接字服务器(ws:// localhost:1234 ).
我现在的问题是:
为什么这可能?浏览器中是否没有实现跨源策略(此处:Linux上的FF29)?
我问,因为如果websocket.org是邪恶的,它可能会尝试与我的本地WS服务器通信,并将从localhost接收的每条消息重定向到任何其他服务器:
Local WebSocket Server Browser Evil Web Server
at ws://localhost:1234 at http://evil.tld
| | |
| |------[GET /]--------->|
| |<-----[HTML+EvilJS]----|
|<------[connect ws://..]----| |
|<----[some communication]-->| |
| |----[evil forward]---->|
| | |
我没有测试整个用例,但是从websocket.org提供的JS连接到ws:// localhost肯定有效.
我正在寻找一种透明的SSL / TLS代理工具来捕获(并更改?)通用SSL / TLS流量(中间人攻击)。基本上可以通过自己的CA动态生成证书的东西。从某种意义上说,我正在寻找类似mitmproxy的东西,但要用于非HTTP(S)通信。有什么建议么?