Что такое переполнение буфера и как его вызвать?
Переполнение буфера обычно fortify-source возникает, когда созданный c++ раздел (или буфер) памяти cpp записывается за пределы намеченных cxx границ. Если злоумышленнику cxx удастся сделать это извне cxx программы, это может вызвать cxx проблемы с безопасностью, поскольку buffer-overflow потенциально может позволить buffer-overflow им манипулировать произвольными buffer-overflow участками памяти, хотя многие c++ современные операционные cxx системы защищают от худших cxx случаев этого.
Хотя чтение buffer-overflow и запись за пределами намеченных c++ границ обычно считаются плохой cpp идеей, термин «переполнение cxx буфера» обычно зарезервирован c++ для записи за пределами границ, так fortify-source как это может заставить злоумышленника fortify-source легко изменить способ работы c++ вашего кода. В Википедии cpp есть хорошая статья о buffer overflows и cxx различных способах их использования c++ для эксплойтов.
С точки зрения buffer-overflow того, как вы могли бы запрограммировать cpp его самостоятельно, это было fortify-source бы просто:
char a[4];
strcpy(a,"a string longer than 4 characters"); // write past end of buffer (buffer overflow)
printf("%s\n",a[6]); // read past end of buffer (also not a good idea)
Скомпилируется fortify-source ли это и что произойдет при buffer-overflow его запуске, вероятно, будет fortify-source зависеть от вашей операционной fortify-source системы и компилятора.
c++
buffer-overflow
fortify-source
Что такое переполнение буфера и как его вызвать?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.