个人博客地址
http://www.darkerbox.com
欢迎大家学习交流
分析
将文件拖到ida里分析。
这里有一个ReadStr函数,进去看看,明显的可以溢出。buf大小只有0x88,但read接收256个字节。
代码不多,但知识不少。只开启了堆栈不可执行。
根据题目名字和程序,可以看出这个题应该是ret2libc。
利用
思路:
- 程序里有read和write函数。可以利用write泄露read的got地址。然后计算libc的基址。
- 得到ibc基址,算出system地址,利用read函数将/bin/sh写入bss段
- 得到system地址后,参数是bss段的/bin/sh,获得shell。
注意:因为是在本地运行,libc用/lib32/libc.so.6
<