1. 新增保护编译/链接参数
ITEM |
OPTION |
NOTE |
RELRO |
-Wl,-z,relro,-z,now or -z relro -z now |
Linker option |
STACK CANARY |
-fstack-protector-all |
Compiler option |
PIE (Executable binary) |
-fPIE -pie |
Compiler option: -fPIE (e.g. CFLAG += “-fPIE”) Linker option: -pie (e.g. LDFLAG += “-pie”) |
PIE (Shared library) |
-fPIC |
Compiler option |
2 验证方法
checksec是一个脚本软件,也就是用脚本写的一个文件,不到2000行,可用来学习shell。
源码参见:
http://www.trapkit.de/tools/checksec.html
https://github.com/slimm609/checksec.sh/
下载方法之一为:
https://github.com/slimm609/checksec.sh/archive/1.6.tar.gz
checksec到底是用来干什么的?
它是用来检查可执行文件属性,例如PIE, RELRO, PaX, Canaries, ASLR, Fortify Source等等属性。
checksec的使用方法:
checksec –file libTest.so