broker的master-slave机制能够被利用,只要知道了master的ip和port,就可以伪装成slave向master发起消息同步
BrokerStartup#createBrokerController
messageStoreConfig.setHaListenPort(nettyServerConfig.getListenPort() + 1);
上面的listenPort就是在broker文件中配置的,默认的ha通信端口,就是listenPort+1
亲测可以直接创建socket连接连上master,只要再发送符合同步协议的数据包,我相信就能够同步master的数据了
已经在github上提交了issue,但目前还没有官方确认
https://github.com/apache/rocketmq/issues/1893
本文探讨了RocketMQ的master-slave机制下可能存在的安全漏洞,指出通过已知master节点的IP和端口,攻击者可能伪装成slave节点进行消息同步,从而获取master节点的数据。实测表明,直接创建socket连接并发送符合协议的数据包即可实现这一过程。作者已在GitHub提交issue,等待官方确认。
488

被折叠的 条评论
为什么被折叠?



