在内核中有pax的linux中,缓冲区是否可能溢出。我想通过使用正确的输入更改返回地址来利用可执行文件。我使用Ubuntu10.04,我用Paxtest测试这个,但是我不知道结果是什么意思。这是我系统上paxtest的结果:
可执行匿名映射:已终止
可执行bss:已终止
可执行数据:已终止
可执行堆:已终止
可执行堆栈:终止
可执行匿名映射(mprotect):易受攻击
可执行bss(mprotect):易受攻击
可执行数据(mprotect):易受攻击
可执行堆(mprotect):易受攻击
可执行共享库bss(mprotect):易受攻击
可执行共享库数据(mprotect):易受攻击
可执行堆栈(mprotect):易受攻击
匿名映射随机测试:12位(猜测)
堆随机测试(et_exec):13位(猜测)
堆随机测试(et_dyn):14位(猜测)
主要可执行随机(et_exec):12位(猜测)
主要可执行随机(et_dyn):12位(猜测)
共享库随机测试:12位(猜测)
堆栈随机测试(segmexec):19位(猜测)
堆栈随机测试(pageexec):19位(猜测)
返回函数(strcpy):易受攻击
返回函数(strcpy,randexec):易受攻击
返回函数(memcpy):易受攻击
返回函数(memcpy,randexec):易受攻击
可执行共享库BSS:易受攻击
可执行共享库数据:已终止
可写文本段:易受攻击
最佳答案
是的,你可以。请看下面几行:
Return to function (strcpy) : Vulnerable
Return to function (strcpy, RANDEXEC) : Vulnerable
唉,我的学校计划就是用grsecurity来防止这种攻击。Pax没有阻止我重写返回地址。