Pwnable/FTZ
LEVEL 16 [level16] passcode : about to cause mass (NO DRAG, NO PASSCODE) attackme.c ์ด๋ผ๋ ํ์ผ์ด ์์ง๋ง ์ฝ๊ธฐ ๊ถํ์ด ๊ฑฐ๋ถ๋์ด ์๋ค. ๊ทธ๋ฅ attackme์ ์์ค ์ฝ๋์ธ ๊ฒ ๊ฐ๋ค. hint์ ์ฝ๋๋ฅผ ์ดํด๋ณด์. ์๋ก์ด ์ค๋ฒํ๋ก์ฐ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ํด๊ฒฐ์ ๋ค์๊ณผ ๊ฐ๋ค. fgets ํจ์์์ ์
๋ ฅ ๋ฐ๋๋ค. ์์ ๋ฒํผ๋ค์ ๋ค ์ฑ์ฐ๊ณ fgets ํจ์๊ฐ ์ข
๋ฃ๋๋ฉด ๋ค์ call ํจ์๊ฐ ํธ์ถ๋๋๋ฐ, ์ด๋ printit ํจ์์ ์ฃผ์๊ฐ ๋ค์ด๊ฐ ์๋ค.(ํจ์์ ์ด๋ฆ = ๊ทธ ํจ์์ ์ฃผ์) ๋ฐ๋ผ์ *call์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ shell ํจ์์ ์ฃผ์๋ก ๋ฎ์ผ๋ฉด ๋ง์ง๋ง์ ์์ด ์คํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ถ์ํ๊ณ shell ํจ์์ ์ฃผ์๋ฅผ ์ฐพ์์ผ ํ๋ค. ๋จผ์ ..
Pwnable/FTZ
LEVEL 15 [level15] passcode : guess what? (NO DRAG, NO PASSCODE) hint์ ์ฝ๋๋ฅผ ๋ถ์ํด๋ณด์. ์ด๋ฒ ๋ฌธ์ ๋ level14์ ์์ฃผ ์ ์ฌํ์ง๋ง check ๋ณ์๊ฐ ํฌ์ธํฐ ๋ณ์๋ก ๋ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. level15 ์์๋ ๋ค์๊ณผ ๊ฐ์ด ํด๊ฒฐํ๋ค. check ๋ถ๋ถ์ 0xdeadbeef ๊ฐ์ ์ง์ ์
๋ ฅํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ 0xdeadbeef ๊ฐ์ด ๋ค์ด์๋ ์ฃผ์ ์์ฒด๋ฅผ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค. if ๋ฌธ ์กฐ๊ฑด์์ check → check์ ์ฃผ์๋ฅผ ๋ฃ์ด์ฃผ๊ฒ ๋๋ฉด ๊ฐ์ ์ฐธ์กฐ์ฐ์ฐ์(*)๊ฐ ์ด ์ฃผ์๊ฐ ์์ ์๋ ๊ฐ์ ์ฝ์ด์ฌ ๊ฒ์ด๋ค. ์ด ์ฃผ์์๋ 0xdeadbeef ๊ฐ ๋ค์ด์๊ธฐ ๋๋ฌธ์ if ๋ฌธ์ pass ํ๋ค. attackme ํ๋ก๊ทธ๋จ์ tmp๋ก ๋ณต์ฌํ๊ณ gdb๋ฅผ ์ด์ฉํ์ฌ ๋ฏ์ด๋ณด์. ..
Pwnable/FTZ
LEVEL 14 [level14] passcode : what the nigga want? (NO DRAG, NO PASSCODE} hint์ ์ฝ๋๋ฅผ ๋ถ์ํด๋ณด์. ์ผ๋ฐ์ ์ธ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ ๋ฌธ์ ์ด๋ค. ๋ฐ๋ก gdb๋ฅผ ์ด์ฉํ์ฌ attackme ํ๋ก๊ทธ๋จ์ ๋ฏ์ด๋ณด์. ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ → (0x38 + 0x8) = 64 ์์๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ → buf(20) + dummy(20) + check(4) + dummy(8) + crap(4)+ SFP(4) + RET(4) = 64 ๊ทธ๋ฌ๋ ์ด ๋ฌธ์ ๋ ret์ ๋ฎ์ ํ์๋ ์๋ค. ๊ทธ๋ฅ check = 0xdeadbeef ์ด๋ฉด system ํจ์๋ก ์์ด ์คํ๋๊ธฐ ๋๋ฌธ์ check์ ์์น์ 0xdeadbeef ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค. ๋ฐ๋ก ์์ด ๋ฐ์ก๋ค. my-pass ๋ฅผ ์
๋ ฅํ์ฌ pass..
Pwnable/FTZ
LEVEL 13 [level13] passcode : have no clue (NO DRAG, NO PASSCODE) ๋๋ค์ attackme ํ๋ก๊ทธ๋จ์ด ์กด์ฌํ๋ค. ํํธ ๊ฐ๋ณด์. ๋ค์ ์ค๋ฒํ๋ก์ฐ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค. ์ฝ๋๋ฅผ ์ดํด๋ณด์. ๋๋ค์ ์ค๋ฒํ๋ก์ฐ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค. gdb๋ก ๋ฏ๊ธฐ ์ ์ tmp ๋๋ ํ ๋ฆฌ์ attackme ํ๋ก๊ทธ๋จ์ ๋ณต์ฌํด์ฃผ์. ๋ฐ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด์. ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ → (0x418 + 0x8) = 1056 ์์๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ → buf(1024) + dummy(12) + i(4) + dummy(8) + SFP(4) + RET(4) = 1056 buf์ ์์ ์ฃผ์๋ฅผ ๊ตฌํด์ผ ํ๋ฏ๋ก, ์ฐ์ strcpy ํจ์๊ฐ ํธ์ถ๋ ๋ค์์ธ main + 66 ๋ถ๋ถ์ break point ๋ฅผ ๊ฑธ์ด์ค๋ค. ๊ทธ๋ฆฌ๊ณ ..