GUET 2024梦极光pwn2

我们先简单地看一下程序
image
发现它会跳转到challenge函数
image
定义了数组buf和v2,v2已经给了初始值,buf用read函数读取
后面用strcmp()将v2和guet555比较,如果相等(返回0)则会执行if段的内容,不相等的话会return result的结果。
然后我们还可以看到有许多函数
image
现在再回过头来看challenge里面的read函数,发现它其实是栈溢出了,但如果我们尝试用它去解题就会发现是错的
image
因为buf长度是160,而read只读取0xD0,对于我们发送的exp来说不够长,读不完,所以是EOF
于是把目光转向challenge2,发现里面也有一个read函数溢出,这个够长,可以用它来溢出。
image
challenge2的返回地址是backdoor,我们点开发现这个后门没什么用
image
在ida里面找一下system(0x04005A0),找一下bin/sh(无),找一下sh(有)
image
就是sh藏得有点深,(在里面某个字符段里,需要我们自己去截取),0x04009B7,会往后读取到0或者\x00为止
image
至此写出exp

posted @   fdddddd  阅读(7)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示