131 字
1 分钟
ctfshow 前置基础 pwn21
题目截图:


这题和前一题基本是同一套思路,还是去看 .got 和 .got.plt 的地址,以及它们所在内存段的权限。
调试结果:

关键输出是:
.got PROGBITS 0000000000600ff0 00000ff0.got.plt PROGBITS 0000000000601000 000010000x0000000000600000 0x0000000000601000 0x0000000000000000 r-- /mnt/c/Users/34831/Desktop/pwn0x0000000000601000 0x0000000000602000 0x0000000000001000 rw- /mnt/c/Users/34831/Desktop/pwn这回能看出区别了:
.got落在r--段里,只读,不能写。.got.plt落在rw-段里,可读可写。
所以这一题里只有 plt 表可写,got 表不可写。
最终答案:
ctfshow{0_1_0x600ff0_0x601000}
ctfshow 前置基础 pwn21
https://alf-ovo.cn/posts/ctfshow-prerequisite-pwn21/