**BUUOJ ciscn_2019_n_1**
(今天来晚了,嘿嘿,出去唱歌了,被淋成落汤鸡)
1.老规矩,将其checksec和file一下,发现NX保护被打开了,且是64为的ELF文件。
2.那就放入IDA64内分析,按fn+F5查看c的代码,发现一个func()的函数,双击进入
cat flag直接映入眼帘,我tm直接暗喜,有后门函数了诶,那就不慌了,直接看c的代码。
3.要想将后门函数覆盖到返回地址,那就必须要v2=11.28125,可是又没有v2的gets函数,我们只能输入v1,观察到v2到ebp的距离为4h,v1到ebp的距离为30h。
所以我们需要填充0x30-0x4个字节的垃圾数据覆盖v1与v2之间的空间,再填入8个字节的垃圾数据覆盖ebp,最后填入11.28125转换为16进制后的数就okk啦。
4.那我们直接放exploit。
5.进行攻击,不过在攻击的过程中出现了一些问题,emmm
当我在终端输入python3 exploit.py时,出现了 Error temporary failure in name resolution.
我也不晓得怎么肥四,看他提示是进行io=remote(‘node3.buuoj.cn’,27228)时出现了错误,不过我把远端关掉又重启,就好了。如果有大佬知道,请求告知一哈啦啦啦!!!谢谢。
最后得到flag
谢谢各位师傅的观看。