Я хотел знать, что в ОС, такой как Windows, если кто-то (не администратор) пишет программу на C++ специально для получения переполнения буфера, может ли он вставить шелл-код для получения прав администратора, не запуская приложение в качестве администратора? Не хочу никакого кода, только теория
1 ответ
Переполнение буфера в самой программе не может привести к повышению привилегий от обычного пользователя к администратору. Если оставить в стороне технические рассуждения об изоляции процесса, представьте, возможно ли это. Тогда наверняка в Интернете будет полно загрузок, предлагающих "rootmywinbox.exe"
Переполнение буфера должно происходить в какой-либо службе операционной системы, работающей с повышенными привилегиями. Примерами могут быть системный сервис, код файловой системы, сетевой код и т.д. Это всегда будет означать ошибку в операционной системе / сервисе. Такие ошибки относительно редки, но существуют. Если вы найдете тот, вы будете знаменитым.
Язык программирования (например, C++) не имеет никакого отношения к вопросу вообще, если только вы не ссылались на переполнение в самой программе, а затем ответ был отрицательным.