<< 18/52 >>
First Last

防御手法 - _FORTIFY_SOURCE

 #include <string.h>
 int main(int argc, char* argv[]) {
   char buf[5];
   strcpy(buf, argv[1]);
 }

おまじないをつけてやると検知してくれる

 ( '-') gcc fortify.c -D_FORTIFY_SOURCE=2 -O
 ( '-') ./a.out hogehogehogehogehogehoge
 *** buffer overflow detected ***: ./a.out terminated
 ...
 zsh: abort      ./a.out hogehogehogehogehogehoge