175 字
1 分钟
ctfshow 前置基础 pwn20
题目截图:

这题先卡了我一下。我对 plt / got 的延迟绑定机制本身不陌生,但一时没反应过来该怎么把 .got 和 .got.plt 的具体地址找出来。
网上搜了一圈,很多文章都在讲 plt 和 got 的原理,但直接讲“怎么定位地址”的反而不多。那就直接自己动调。
第一次认真用 readelf:
readelf -S ./pwn | grep -E '\.got|\.got\.plt'
再配合 vmmap 看内存映射:

关键结果是:
.got PROGBITS 0000000000600f18 00000f18.got.plt PROGBITS 0000000000600f28 00000f28
0x0000000000600000 0x0000000000601000 0x0000000000000000 rw- /mnt/c/Users/34831/Desktop/pwn这段映射是 rw-,也就是可读可写,所以答案就能直接确定下来。
最终答案:
ctfshow{1_1_0x600f18_0x600f28}
ctfshow 前置基础 pwn20
https://alf-ovo.cn/posts/ctfshow-prerequisite-pwn20/