名词说明:
No-eXecutable bit (NX), address space layout randomization (ASLR) and stack smashing protector (SSP)
实现环境
本案例在我的centos 64位(内核版本3.1)同时bypass NX、ASLR、SSP保护
漏洞利用的分析过程
//通过暴力破解,拿到漏洞的偏移量、SSP的cookie、EBP和EIP
cookie:用于bypass SSP cookie的保护
RBP:主要为了可以进一步去探测RIP
RIP :可以推测出Imaige.text段的映射基地址,进而推测出libc的映射基地址,用于后面ROP编程
调试工具gdb && python -m pdb xx.py
经过前面的探测,最一步发出shellcode,拿到远程shellcode.
漏洞成因
- SSP保护机制存在漏洞,在一个程序多次启动的实例中,SSP cookie值相等
- ASLR保护机制也存在漏洞,在一个程序多次启动的实例中,image.text和libc.text的偏移相等
解决方案
- renewSSP,让每次重启实例SSP的cookie都不一样
- 让每次启动的实例image.text和libc.text的偏移量都不一样
POC网络下载地址
http://cybersecurity.upv.es/attacks/offset2lib/offset2lib.html
版权声明:本文为softgmx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。