Перевод: "А потом они забыли выделить память под нуль-терминатор в конце строки". "Сеееееег-фоулт".
— wataru, а как по-английски будет фоулт?
— fault
— What eto da!
— fault
— What eto da!
Запрашиваю толкование перевода.
сег-фоулт - сбой сегментирования. Вылезает, если написать кривой код, который портит память.
В данном случае речь о том, что строка не заканчивается нулевым байтом.
Это означает, что в первый же момент, когда это строка будет чем-то прочитана, указатель выйдет за пределы самой строки и может оказаться где угодно в памяти.
Лучшее, что может произойти, это чанк памяти кончится и при прочтении невыделенной памяти прога получит сегфолт.
В худшем случае рандомные данные будут содержать ноль.
В худшем, потому что этот баг будет трудно отследить и он будет жирной брешью в безопасности программы.
Например можно нарочно манипулировать программой, чтобы та вышла за пределы строки и записала например в стек или ещё куда и тогда можно программу ломануть, заставить делать, что угодно, запускать шелкод, качать порнушку, сливать фоточки или полировать биос до состояния кирпича. Всё зависит от фантазии нашедшего уязвимость.
Это прям отдельный вид искусства.
Это означает, что в первый же момент, когда это строка будет чем-то прочитана, указатель выйдет за пределы самой строки и может оказаться где угодно в памяти.
Лучшее, что может произойти, это чанк памяти кончится и при прочтении невыделенной памяти прога получит сегфолт.
В худшем случае рандомные данные будут содержать ноль.
В худшем, потому что этот баг будет трудно отследить и он будет жирной брешью в безопасности программы.
Например можно нарочно манипулировать программой, чтобы та вышла за пределы строки и записала например в стек или ещё куда и тогда можно программу ломануть, заставить делать, что угодно, запускать шелкод, качать порнушку, сливать фоточки или полировать биос до состояния кирпича. Всё зависит от фантазии нашедшего уязвимость.
Это прям отдельный вид искусства.
Не перенапрягся?
Сегс фолт.
Ну так то сегс тоже обеспечен. Прада есть нюанс...
Чтобы написать коммент, необходимо залогиниться