
PoC Python éducatif pour un contournement de la validation d'adresse QUIC qui déclenche une amplification de la poignée de main, incluant la simulation d'un serveur vulnérable et la démonstration de l'attaque.
# quic_server_sim.py - Vulnerable QUIC server (simulated handshake)
import socket
def send_quic_initial(conn, addr, server_salt):
# Respond with a large "server hello" without validating source address
# In real QUIC, the server must echo the client's token; here we skip that.
payload = b'\x00' * 1200 # large response
conn.sendto(payload, addr)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(('0.0.0.0', 4433))
print("QUIC server on :4433")
while True:
data, addr = server_socket.recvfrom(1024)
# Vulnerability: respond to any initial packet, no token verification
send_quic_initial(server_socket, addr, b'salt')
Une implémentation de serveur QUIC ne parvient pas à appliquer la validation de l'adresse source pendant la poignée de main, permettant à un attaquant d'envoyer un petit paquet initial avec une adresse IP source usurpée. Le serveur répond avec un paquet beaucoup plus grand, permettant une amplification DDoS.
python quic_server_sim.py