知识点
小端序说明,数据在内存里是如何存储的?下表里数据都为16进制
解题流程
题目Hint:更新 LibcSeacher 的 libc-database
checksec查看保护机制
存在Canary和NX。
0x28=40
0x10=16
0x29=41
0x300=768
0x2C=44
buf长度为48,而read读取长度为768
v5长度为520,而read读取长度为768
所以存在栈溢出漏洞
注意关注以下两条语句
.text:000000000040082C mov rax, fs:28h
.text:0000000000400835 mov [rbp+var_8], rax
canary存在rbp+var_8,可以在0x40082C下断点,