名詞說明:
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