Qual è la lunghezza giusta del messaggio heartbeat tra 2 ^ 14 e 2 ^ 16 ?
Il link RFC dice che
The total length of a HeartbeatMessage MUST NOT exceed 2^14 or
max_fragment_length when negotiated as defined in [RFC6066].
In questo PoC Heartbleed la dimensione è 40 00
in esadecimale quindi 16 384 - > 2 ^ 14
Ma se controllo queste spiegazioni (due da molte):
Quindi la lunghezza massima è 65 535 - > 2 ^ 16
EDIT SOLVED?
Eseguo il test del codice PoC Heartbleed, il codice hb è:
hb = h2bin('''
18 03 02 00 03
01 40 00
''')
40 00
- > 16 384 - > 2 ^ 14
Se stampo la lunghezza ricevuta, mostra 16 384
Se sostituisco 40 00
di FF FF
- > 2 ^ 16, la lunghezza dei dati ricevuti è ancora 16 384 quattro volte.
16 384
16 384
16 384
16 384
= > 2 ^ 16
Interessante
Quindi il massimo è 2 ^ 16 ma sarà diviso in pacchetti di lunghezza 2 ^ 14