
Образовательный Python PoC для обхода проверки адреса в QUIC, который вызывает усиление рукопожатия, включая имитацию уязвимого сервера и демонстрацию атаки.
# 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')
Реализация QUIC-сервера не выполняет проверку адреса источника во время рукопожатия, что позволяет атакующему отправить небольшой начальный пакет с поддельным IP-адресом источника. Сервер отвечает пакетом гораздо большего размера, что делает возможной DDoS-амплификацию.
python quic_server_sim.py