Linux|elf文件保护机制的含义

ubuntu中使用checksec命令可以查看可执行文件开启的保护
在这里插入图片描述
调试必不可少的一步操作
但是经常会忘了缩写对应的意思,今天就总结一下。

1.RELRO: RELRP会有Pratial RELROFULL RELRO,如果开启FULL RELRO,意味着我们无法修改got表
2.Stack: Canary found 表示不能直接用溢出的方法覆盖栈中返回地址,而要通过改写指针与局部变量、leak canary、overwrite canary的方法来绕过
3.NX: NX enabled表示栈中的数据没有执行权限,通常用rop/构造rop链绕过
4.PIE: PIE enabled 表示开启了地址随机化,即每次程序运行的时候地址都会变化,而如果没有开PIE的话,No PIE(0x400000),括号内的数据就是程序运行的基地址
5.FORTIFY: FORTIFY_SOURCE机制对格式化字符串有两个限制:
(1)包含%n的格式化字符串不能位于程序内存中的可写地址。
(2)当使用位置参数时,必须使用范围内的所有参数。所以如果要使用%7$x,你必须同时使用1,2,3,4,5和6

发布了85 篇原创文章 · 获赞 42 · 访问量 4320

猜你喜欢

转载自blog.csdn.net/weixin_43092232/article/details/104888835