Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
spectre-attack-example — 2 января 2018 года (CVE-2017-5753 и CVE-2017-5715) «Призрак» Spectre эксплуатация уязвимости | Kitploit
Инструменты/GitHubGitHub/00052/spectre-attack-example
Анализ уязвимостейЭксплуатацияСтатьи и ИсследованияОбучение и ОбразованиеЭксплуатация Бинарных Файлов
GitHub00052/spectre-attack-example

spectre-attack-example

2 января 2018 года (CVE-2017-5753 и CVE-2017-5715) «Призрак» Spectre эксплуатация уязвимости

Репозиторий
1288 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Пример эксплойта Spectre

2 января 2018 г. (CVE-2017-5753 и CVE-2017-5715) Пример эксплуатации уязвимости "Spectre"

Что это?

Мы помещаем текст "The Magic Words are Squeamish Ossifrage." в память, а затем пытаемся прочитать его с помощью эксплойта. Если система уязвима, вы увидите тот же текст в стандартном выводе.

В этом коде, если инструкции компиляции в victim_function() выполняются строго последовательно, функция читает только из array1[0..15], потому что array1 size = 16. Однако возможно выполнение чтения за пределами этого диапазона. Функция read_memory_byte() многократно тренирует victim_function(), чтобы предсказатель переходов ожидал допустимое значение x, а затем вызывает x за пределами границ. Условный переход не предсказывается, и последующее спекулятивное выполнение читает тайный байт с помощью x вне границ. Затем спекулятивный код читает из array2[array1[x] * 512], тем самым выдавая значение array1[x] в кэш. Для завершения атаки используется простой flush+reload, чтобы определить, в какой строке кэша находится array2, раскрывая содержимое памяти. Атака повторяется несколько раз, так что даже если целевой байт изначально не кэширован, первая итерация заносит его в кэш. На i7 Surface Pro 3 оптимизированный код читает со скоростью около 10 КБ/с.

Источники

  • Spectre exploits info
  • CVE-2017-5753 - Вариант 1: обход проверки границ
  • CVE-2017-5715 - Вариант 2: внедрение цели ветвления
Скачать инструмент