C-缓冲区溢出示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C-缓冲区溢出示例相关的知识,希望对你有一定的参考价值。

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6. char *buffer1 = (char *)calloc(5, sizeof(char));
  7. char *buffer2 = (char *)calloc(15, sizeof(char));
  8. char *tmp;
  9.  
  10. strcpy(buffer2, "ls -a --color");
  11. strcpy(buffer1, argv[1]);
  12.  
  13. // Indirizzi di memoria...
  14. printf("%p <-- buffer1 ", buffer1);
  15. printf("%p <-- buffer2 ", buffer2);
  16. printf(" ");
  17.  
  18. // Stampa indirizzi...
  19. printf("Start code.... ");
  20. tmp=buffer1;
  21. while(tmp<buffer2+15)
  22. {
  23. printf("%p: %c (0x%x) ", tmp, *tmp, *(unsigned int *)tmp);
  24. tmp++;
  25. }
  26.  
  27. printf(" ");
  28. system(buffer2);
  29. return 0;
  30. }

以上是关于C-缓冲区溢出示例的主要内容,如果未能解决你的问题,请参考以下文章

构造一个缓冲区溢出的C语言的例子,并调试它,使得溢出时EIP的地址为:0x41424344

c语言程序缓冲区溢出怎么办?

什么是C语言缓冲区溢出漏洞?怎么利用?谁可以提供详细的资料

缓冲区溢出(vs)缓冲区溢出(vs)堆栈溢出[重复]

C语言中为了避免缓冲区溢出应尽量使用哪些函数

这个 C 代码中的缓冲区溢出漏洞在哪里?