预备条件:
VM 配置:Ubuntu 12.04 (x86)
什么是爆破?
在这个技巧中,攻击者选择特定的 Libc 基址,并持续攻击程序直到成功。假设你足够幸运,这个技巧是用于绕过 ASLR 的最简单的技巧。
漏洞代码:
编译命令:
上面展示了,Libc 随机化仅限于 8 位。因此我们可以在最多 256 次尝试内,得到 root shell。在下面的利用代码中,让我们选择作为 Libc 基址,并让我们尝试几次。
利用代码:
运行上面的利用代码,我们会得到 root shell(在下面展示):
注意:也可以爆破类似的栈和堆段的地址。