239 字
1 分钟
ctfshow stack overflow pwn69
首先这里mmap区域给的权限是”6”,不可读、不可写、不可执行。
第一个sub_400949这里做出了限制
0对应read,1对应write,2对应open,60对应exit
也就是只开放了ORW的权限。
补一张图,这个指令可以用来查看沙箱指令是否可用
不过这里构造了shellcode还要想到如何把程序流引到栈的头部。我不知道怎么做,查了wp。这里对后门的利用也是十分有趣的。
一般来说,程序运行结束后返回的是程序地址,这里的jmprsp的指令跳到了栈顶(只用一个地址),只要再asm{sub rsp 0x30,jmp rsp}就能跳到栈底来执行之前布置好的代码啦(这是个很简单但是很有教育意义的漏洞)然后跳到mmap段,执行ORW
exp:
ctfshow{591cbd5f-c9bf-4120-85de-e9570265586d}
ctfshow stack overflow pwn69
https://alf-ovo.cn/posts/ctfshow-stack-overflow-pwn69/