XCTF when_did_you_born

HCl4y 等级 111 0 0

使用file查看文件是多少位

pwn1-1

可以看出是Linux系统下的64位ELF文件

用checksec检查文件保护

pwn1-2

有金丝雀(canary)还有堆的保护

运行程序 pwn1-3

当输入数据过长时,显示程序段错误,直接崩溃了,说明是可能存在栈溢出的,但是存在canary保护,可能不是直接溢出 canary保护

IDA中汇编出伪C代码

pwn1-4 输入v5如果是1926直接退出,如果不是再用gets输入v4(gets必是漏洞,输入时对长度没有限制,可以无限填充数据),如果v5又等于1926才输出flag

查看栈里数据的地址

pwn1-5

因为v4是gets输入,所以可以一直填充,数据填充覆盖v5时将数据改为1926

写exp

pwn1-6

显示没有那个文件或目录其实就是打通

pwn1-7

将content改为0打远程

pwn1-8-1

pwn1-8-2

总结

这道题虽然有canary保护,但并没有开启,可以直接通过gets不断填充数据覆盖变量得到flag

预览图
收藏
评论区
守株待兔
最新文章
XCTF level0 2021-03-20 20:35
XCTF hello_pwn 2021-03-20 20:31

导读