ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
832974 Топик полностью
fk0, легенда (18.04.2018 13:00, просмотров: 56) ответил lloyd на Да, уязвимость Remote Code Execution на микроконтроллере.
Основной вектор атаки: buffer overflow, преимущественно на стеке, а так же эксплуатация format string vulnerability с целью или нарушения работы и загрузки шеллкода, или наоборот, дампа памяти жертвы. Дополняйте, кто что может сказать. По первому всем понятно: запись за пределы буфера портит адрес возврата в стеке или указатель, но так или иначе управление передаётся по нужному адресу. Методика известна из 80-х годов если не раньше. GCC умеет ставить guard bytes на стеке вокруг адреса возврата и проверять. Но портить можно же не только адрес возврата. Можно указатели, можнo GOT-таблицу, если она не защищена от записи. Второе -- первые публикации прошли в phrack magazine в конце 90-х или начале 2000-х. Потом затишье много лет, сейчас экплуатируют налево и направо, ну и защищаются, даже gcc умеет варнинги давать. А в начале 2000-х можно было ломать всё подряд. Идея в том, что внешние данные попадают в строку формата printf, дальше там несколько вариантов есть, к чему это приведёт, но в общем случае можно писать в память, можно распечатывать память.
[ZX]