在 github 上搜一下 CVE-2024-6387 ,出来一堆演示代码。
主流是一个叫 7etsuo-regreSSHion.c 源文件。能编译,但是代码都是错的。
有一个 send_packet 的函数,是发送 ssh2 包。但是 size_t packet_len = len + 5;这句明显是错误的,ssh 协议定义 rfc4253 里,明确写了"The length of the packet in bytes, not including 'mac' or the 'packet_length' field itself.", 这里应该是 len+1, 而不是 len+5 。
1
tool2dx OP 花了一点时间,简单修复了一下源文件里的 SSH2 握手部分,加了成吨的代码,至少能顺利连接了。
https://github.com/tool2d/sshshowcase/blob/main/sshserver.cpp |
2
yuedingwangji 154 天前
我草, 大佬牛 b
|