so安全编译选项(栈溢出保护)


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

 

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM