215 字
1 分钟
ctfshow stack overflow pwn67
这里虽然说的是给的”Current location”,但是query_position这里做了一个随机,v2的范围是-668到(1336-668)。
这里泄露的地址是v1附近的一个地址,而我们实际最后运行的位置要到seed去(seed布置我们的shellcode),要让v5指向shellcode。由于实际函数运行时v1与v5之间的相对距离是固定的,动调查看一下相对偏移。
下断点然后动调看ebp位置,找到v5与v1分别在一次运行中的位置,相减得到偏移。
v5=0xffffd3e8-0x1010
v1=0xffffc3c8-0x15h
v5-v1=37
0x2d=32+13=45
45-37=8
这个8是什么呢,是进入子函数压入的ebp地址与函数返回地址。
因此0x2d才是两者之间的实际偏移。这个点要记住了!
exp:
ctfshow{49cedafd-e50b-4e3a-865d-8713ccde6278}
ctfshow stack overflow pwn67
https://alf-ovo.cn/posts/ctfshow-stack-overflow-pwn67/