在做ret2gets的时候,泄露出来TLS,但是发现glibc的基址和tls的偏移不是固定的。然而,同学说他的环境是固定的,而且打通了,这是为什么
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
首先ASLR是什么呢?
ASLR带来的影响是什么呢?
ASLR,程序加载到内核时,ASLR分成两个部分,一是程序自身及LD链接器加载的时候会通过load_elf_binary处理虚拟内存空间的细节,当程序自身的ELF和LD都完成加载后,才会加载程序依赖的动态链接库
在load_elf_binary,内核会根据一个特定的地址设置基地址,当ASLR开启后,内核会通过随机函数获得一个随机值,并让基地址减去或加上随即值完成虚拟内存空间的随机化
动态链接库的加载实际是通过mmap映射出来的,内核的mmap有个名为get_unmmap_area的函数通过算法快速查找虚拟空间中的可用内存,然后再获取随机值并根据随机值完成随机化
ASLR有没有什么用户态空间可以控制的方法?
有没有什么途径可以观察程序加载过程ASLR呢?提供了非常丰富的追踪工具,那么程序的加载流程可不可以通过这些追踪工具大致的分析出来?
现在ebpf非常的火,可以在用户态空间编写程序观察内核的动向,那么ebpf有没有可能分析出mmap的随机化过程呢?
除了ebpf外还有什么可以调试内核的方法呢?
在之后,程序的虚拟内存空间可以分成多个类型,每个类型的内存ASLR的方法都是一样的吗,内核是如何加载ELF文件的,mmap具体又是如何工作的,等等等。。。。
福建炒饭乡会 首先ASLR是什么呢?ASLR带来的影响是什么呢?ASLR,程序加载到内核时,ASLR分成两个部分,一是程序自身及LD链接器加载的时候会通过load_elf_binary处理虚拟内存空间的细节,当程序 ...