泄露libc

泄露libc

(泄露libc)

pintf泄露libc

虽然存在格式化字符串漏洞,并且GOT表可写,但是程序使用的是printf_chk函数。会检测出形如"%n"和"%12$p"这种利用方式。
考虑到main函数由libc_start_main调用,因此栈上的返回地址是一个libc中的地址,利用格式化字符串漏洞能泄露出libc的基址。
“%p::%p::%p::%p::%p::%p::%p::%p”。第8个%p就能打印出libc上的地址。

函数调用栈结构

泄露libc