Open bddjr opened 1 month ago
Aceept时调用了 peekConn.Peek(3) ,相当于间接调用了Read,会阻塞Accept函数。
peekConn.Peek(3)
攻击者只需要用telnet命令连接服务器的这个端口,然后什么都不发,服务器无法响应别的请求,而且不会超时,做到了拒绝服务攻击(Dos)。
此外每次都会从系统读取证书再解析再返回,更进一步拉低了请求处理效率。
幸运的是,这东西放到自己的程序后,有时候进程挂着没多久就崩溃了,所以使用者放弃了这个方案。
将Read操作从Accpet改为劫持Read。
如果你是使用者,你可以直接用 https://github.com/bddjr/hlfhr
严重bug:
Aceept时调用了
peekConn.Peek(3)
,相当于间接调用了Read,会阻塞Accept函数。攻击者只需要用telnet命令连接服务器的这个端口,然后什么都不发,服务器无法响应别的请求,而且不会超时,做到了拒绝服务攻击(Dos)。
此外每次都会从系统读取证书再解析再返回,更进一步拉低了请求处理效率。
影响
幸运的是,这东西放到自己的程序后,有时候进程挂着没多久就崩溃了,所以使用者放弃了这个方案。
解决方案
将Read操作从Accpet改为劫持Read。
如果你是使用者,你可以直接用 https://github.com/bddjr/hlfhr