堆溢出实验

堆溢出实验流程

~$ sudo sysctl -w kernel.randomize_va_space=0     

~$ gcc -ggdb -g -z execstack -fno-stack-protector -o test test.c

~$ objdump -R test          objdump -r test     R输出的信息更多

sudo apt-get auto-remove gcc
使用objdump查看目标文件的重定位表
objdump -R bugcode.o      objdump -R bugcode
-R  显示文件的动态重定位入口,仅仅对于动态目标文件意义,比如某些共享库。 

gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)     

MALLOC_CHECK_

GNU的标准库(glibc)可以通过内置的调试特性对动态内存进行调试,它就是MALLOC_CHECK_环境变量,

它在默认情况下是不设定的,在老的版本默认这个值为0,新的版本默认值为2,但有一个矛盾,如果设定为空,它将会打印出长长的跟踪信息,这比设为2更详细.

MALLOC_CHECK_有三种设定,即:

MALLOC_CHECK_=0 ----- 关闭所有检查.

MALLOC_CHECK_=1 ----- 当有错误被探测到时,在标准错误输出(stderr)上打印错误信息.

MALLOC_CHECK_=2 ----- 当有错误被探测到时,不显示错误信息,直接进行中断.

linux 4 下载

https://www.wanghualang.com/red-hat-enterprise-linux.html

猜你喜欢

转载自blog.csdn.net/weixin_42072280/article/details/89352660