[Pwnable.kr] echo2

02. 3 月 2016 pwnable writeup 0

FSB+UAF,比较常规的套路题

首先F5

两个漏洞比较显然,一个在echo2里有FSB,可以leak出rbp的地址,另外在选择了4之后直接执行了free(o),这个时候再按n取消退出的话,程序并没有退出,然而o已经被free掉了,o的大小是40字节,这个时候如果我们再调用3,malloc一个32字节的空间,会把刚free掉的40字节分配回来,也就是o这个对象的一部分。其中o[3],o[4]是greeting和goodbye函数的指针,通过修改这两个指针可以跳到其他地方去。

具体的shellcode可以写在name里,网上找到一个只有23字节的shellcode(https://www.exploit-db.com/exploits/36858/),比shell-storm上的27字节的不知道短到哪里去了。name的地址可以根据echo2的rbp算出来,是0x20(可以用gdb看,也可以从ida的stack窗口看)。

要注意把该读的读干净,要不读leak出来的地址的时候不对……


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.