-
-
[求助]linux中PIE和ASLR的联系和区别
-
发表于:
2019-12-19 10:33
8475
-
咨询一下各位大佬,我Linux pwn学习过程中遇到了有关PIE和ASLR概念的问题,下面是我的一些理解,不知道是否理解正确,希望大佬帮我判断下
根据网上查找的资料pie用于使得linux中可执行文件支持随机基址加载(即不会加载到默认基址0x08048000),pic用于支持linux共享库的随机基址加载
pie和pic是与编译选项有关,作用于特定可执行文件或共享库(类似于windows中pe文件中的0x4081 和0x0081决定了pe是否支持随机基址)
对于alsr,是一种系统提供的机制,可以使得程序堆、栈、共享库加载基址(windows中为dll)随机化
aslr是系统默认开启的,其能否发挥作用取决于具体程序(可执行文件或共享库)有没有在编译过程中使用了pie 或pic
在正常pwn的过程中,如果可执行程序动态链接并且自身未开启pie,则可以使用可执行程序中的指令的地址覆盖返回地址,但是能否使用共享库中的指令地址作为返回地址,取决于该共享库是否开启了pic
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课