看板娘加载中
201 字
1 分钟
ctfshow stack overflow pwn49

附件:pwn49-ret2shellcode.py

shot 1

题目提到静态编译与mprotect函数,先查询一下mprotect函数是干什么的:

shot 2

shot 3

shot 4

这一大坨函数确实是静态编译没跑了。

mprotect显示在哪了?暂时不清楚,先动调看一下权限:

shot 5

给的这块0x080d8000为起始的地址在IDA里根本找不到,越界了。因此想到利用mprotect改前面的r-x权限为rwx权限,再写入shellcode。

shot 6

shot 7

这边我卡在不知道把shellcode注入到哪里去好的困境。

现在我得知,shellcode不止可以注入到现成的buf,也可以注入至bss段。

注意,用python readelf.py -S ./pwn的方式读取bss段具体位置。动调出来的只是页映射并不是具体实际地址。

exp:

shot 8

shot 9

ctfshow{738d17bb-8075-4946-97f2-ff5358d15340}

ctfshow stack overflow pwn49
https://alf-ovo.cn/posts/ctfshow-stack-overflow-pwn49/
作者
AlF
发布于
2026-05-13
许可协议
CC BY-NC-SA 4.0