CTFshow pwn31 wp

PWN31
使用checksec查看保护

发现除了canary剩下保护全开,那么就没有前面几个题目那么简单了,ida打开看见他给了我们main函数地址

虽然开了pie但是在他们之间的偏移是一定的,那么我们就可以通过他给的main函数的真实地址减去偏移得到文件(elf)的基地址,然后puts_plt puts_got表地址就有了。
在ctfshow函数里面有一个栈溢出漏洞但是我们要找一下溢出偏移,因为pie最好以gdb动态调试为准。

在gdb中我们先生成300个字符用来计算偏移

然后再输入的时候进行输入最后会报错因为栈溢出了没有这个返回地址,那么我们可以通过cyclic -l 报错地址 来查找偏移

得到偏移是140也就是填充140个字节可以到返回地址,但是这个题有一个注意的地方,就是不能覆盖了ebx,ebx里面存的是got表地址

它是通过这个函数来的,功能是将下一条指令的地址赋给ebx寄存器

然后就是正常的ret2libc啦,exp在这里

热门相关:九阳剑圣   我向斐少撒个娇   校花之高手无敌   天龙邪尊   全能王妃:偷个王爷生宝宝