BUUCTF 4.ciscn_2019_n_1

拿到题目首先先运行程序

我们发现给了我们一个数字,我们猜测应该是一个条件判断的程序,然后我们检查一下保护机制

我们发现只开了NX(不可执行)保护,那我们直接看IDA就行了。

main函数只是设定了无缓冲模式,以及调用了一个func函数,然后我们看一下

我们可以看到gets 和我们想要的flag,至此我们有两种方法:
1.我们可以通过栈溢出的漏洞,将v2的值改为11.28125,可以获得flag
2.我们可以通过栈溢出的漏洞,将返回地址定位到system函数,也可以获得flag

从图片中我们可以知道v1到v2的距离是(0x30-0x04),v1到返回值地址的距离是(0x30+0x08)
所以
1.exp为:

flag:

2.exp为:

flag:

posted @   Eanck  阅读(29)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示