
💔 Эксплойт Hearbleed для получения конфиденциальной информации CVE-2014-0160 💔
Пример атаки Heartbleed с использованием сервера https://www.cloudflarechallenge.com/, созданного для тестирования этой атаки.
Во-первых, два лучших объяснения, которые я читал по этой теме:
Эксплойт начинается с отправки handshake на сервер cloudflarechallenge.com для создания защищённого соединения по TLS. Затем функция hit_hb(s) отправляет типичный heartbeat-запрос:
hb = h2bin('''
18 03 02 00 03
01 40 00
''')
Мы ожидаем ответ сервера, а затем распаковываем 5 байт (заголовок) TLS-пакета (content_type, version, length) = struct.unpack('>BHH', hdr)
После этого мы читаем остальную часть запроса, используя длину, полученную из заголовка. Данные сохраняются в файл òut.txt.
Примечание: атака может быть выполнена на этапе handshake до шифрования, но для простоты этот эксплойт запускается после handshake.
На вашем компьютере должен быть установлен python 2.7.* (на python 3 не тестировалось).
python2 heartbleed-exploit.py www.cloudflarechallenge.com
Затем вы увидите что-то вроде этого:

Затем вы можете проверить файл out.txt и увидеть 2^14 (40 00) данных, хранящихся в памяти сервера, вместо 4!
Вы можете запускать эксплойт много раз, и в файле будут разные результаты.
/!\ ВНИМАНИЕ: файл будет перезаписан после каждого запуска эксплойта.