Pwnable/FTZ
LEVEL 12 [level12] passcode : it is like this (NO DRAG, NO PASSCODE) level11๊ณผ ์ ์ฌํ ๋ฌธ์ ์ด๋ค. ๋ฐ๋ก ํํธ๋ฅผ ๋ฏ์ด๋ณด์. level11๊ณผ ๋ฒํผ์ ํฌ๊ธฐ๋ ๊ฐ์ผ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ด๋ค. ์ ํ์ฑ์ ์ํ์ฌ gdb๋ฅผ ์ด์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ์ดํด๋ณด์. original attackme๋ gdb ๊ถํ์ด ๊ฑฐ๋ถ๋์ด ์์ผ๋ ํ๋ก๊ทธ๋จ์ tmp๋ก ๋ณต์ฌํ์ฌ ๋ฏ์ด๋ณด์. ์ญ์๋ ๋์ผํ๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค. ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ → (0x108 + 0x8) = 272 ์์๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ → str(256) + dummy(8) + SFP(4) + RET(4) = 272 ๋ฐ๋ผ์ ๋๊ฐ์ด str์ ์ฃผ์๋ฅผ ๊ตฌํ๊ณ NOP๋ฅผ ์ด์ฉํ์ฌ ์์ ๋ฐ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. str์ ์์..
Pwnable/FTZ
LEVEL 11 [level11] passcode : what!@#$? (NO DRAG, NO PASSCODE) attackme ๋ผ๋ ์คํํ์ผ์ด ์กด์ฌํ๋ level11์ ๊ถํ์์๋ ์คํ๊ณผ ์ฝ๊ธฐ๊ถํ๋ง ์กด์ฌํ๋ค. ์ด์ hint๋ฅผ ์ดํด๋ณด์. ์๋ง๋ level11์ ์์ค์ฝ๋์ธ ๊ฒ ๊ฐ๋ค. ์ฝ๋๋ฅผ ํ๋ฒ ๋ถ์ํด ๋ณด์. #include #include int main( int argc, char *argv[] ) { char str[256]; //256๋ฐ์ดํธ์ ๋ฐฐ์ด ์ ์ธ setreuid( 3092, 3092 ); //level12 ๊ถํ ๋ถ์ฌ strcpy( str, argv[1] ); //str์ argv[1]๋ฅผ ๋ณต์ฌ printf( str ); //๋ฌธ์์ด str์ ์ถ๋ ฅ } ์ฌ๊ธฐ์ str์ ๊ธธ์ด๋ฅผ ๊ฒ์ฌํ๋ ์ฝ๋๊ฐ ์กด์ฌํ์ง..
Pwnable/FTZ
LEVEL 10 [level10] passcode : interesting to hack! interesting to hack! (NO DRAG, NO PASSCODE) ์ด์ ๊น์ง์ ๋ ๋ฒจ๊ณผ๋ ๋ค๋ฅด๊ฒ program์ด๋ ๋๋ ํ ๋ฆฌ๊ฐ ์ถ๊ฐ๋์๋ค. ๊ทธ๋ฌ๋ program์ด๋ผ๋ ๋๋ ํ ๋ฆฌ๋ ์ ๊ทผ ๊ถํ์ด ์๋ค. hint๋ฅผ ์ดํด๋ณด์๋๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ ์ฌ๋์ ๋ํ๋ฅผ ๋์ฒญํ์ฌ level11์ ๊ถํ์ ์ป๋ ๋ฌธ์ ์ด๋ค. ๊ณต์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ์ฌ ์์์ผ ํ ๊ฒ ๊ฐ๋ค. [ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ] ์๋๋ ํ๋ก์ธ์๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋์ ํ๋ก์ธ์ค๋ง์ด ์ฌ์ฉํ ์ ์๋ค. ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ ๊ทผ์ ์ํ๋ ๊ฒฝ์ฐ ์ต์ด์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์ฑ ํ๋ก์ธ์ค๊ฐ ์ปค๋์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น์ ์์ฒญํจ์ผ๋ก์จ ์ด๋ฃจ์ด์ง๋ค. ์์คํ
์ฌ๋ถํ
๋ฐ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ๊ณต..
Pwnable/FTZ
LEVEL 9 [level9] passcode : break (NO DRAG, NO PASSCODE) hint๋ฅผ ์ดํด๋ณด๋ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ์ ๊ดํ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค. ๋ฐ๋ก ์ฝ๋๋ฅผ ์ดํด๋ณด์. #include #include #include main(){ char buf2[10]; //10๋ฐ์ดํธ ํฌ๊ธฐ์ buf2 ์ ์ธ char buf[10]; //10๋ฐ์ดํธ ํฌ๊ธฐ์ buf ์ ์ธ printf("It can be overflow : "); fgets(buf,40,stdin); //buf๋ผ๋ ๋ณ์์ 40๊ฐ(NULLํฌํจ) ์
๋ ฅ๋ฐ์ if ( strncmp(buf2, "go", 2) == 0 ) //buf2์ ์ฒ์ 2๊ฐ์ ๋ฌธ์๊ฐ "go"์ ์ผ์นํ๋ค๋ฉด { printf("Good Skill!\n"); setreuid( 3010,..