每日任务:发现自己是个fw(1/1) ——ez_pz_hackover_2016

先基本操作

 

 

 

 这里header只是打印标题,chall函数里是主体

 

 给s赋值,当字符串以crashme开始时进入vlun函数

要过这个判断很简单,赋值为‘crash\x00’即可(strcmp函数遇到\x停止)

 

 vlun函数就是把s赋值400字节给dest,明显的栈溢出

理论上应该时很基础的一道题,然而怎么也通不过

百度后发现这道题dest大小根本不是0x32,要动态调试看大小(我真的服了)

 

这里断点下载nop处,即已经赋值给buf将要返回函数时

 

 

 

 这里可以看到栈里的crashme地址为0xffa07b92

 

 

 ebp的地址如上,两者偏移0x16

去掉crashme\x00再加上ebp的大小需要填充0x12

一顿操作最终调试的时候确实打印出了printf的函数地址,也找到了libc

但是就是通不过

放到gdb调试一下发现ebp和eip的值都是对的

然后给我弹出来一个这个timeout: the monitored command dumped core

黑人问号???

这玩意不是64位专属故障吗?

反正就很神奇

日后研究研究再说

 

posted @ 2021-03-08 14:08  Haokunnnnnnnna  阅读(269)  评论(0编辑  收藏  举报