ORW
知道了沙箱和绕过的基本思路,就可以实操练一下。
*sample : orw *
这里的例题是pwnable的orw(BUU上有)。
1 | int __cdecl main(int argc, const char **argv, const char **envp) |
开启了沙箱,程序直接读取并执行我们的shellcode。pwntools中的shellcraft可以让我们不用手撕汇编,加快A题速度。
1 | from pwn import * |
事实上,shellcraft可以胜任绝大部分需要手撕汇编的活。(包括切换架构等,所以要注意沙箱是否有对架构的限制。
这里只是一个入门的演示,比赛中遇到的可以参考rctf_2019_babyheap