Exploit
Exploit pwntool์ checksec ๋ช ๋ น์ด๋ก ์ด๋ค ๋ณด์์ด ์ ์ฉ๋์๋์ง ํ์ธ ๊ฐ๋ฅํ๋ค. Shell Code exploit์ ํ์ผ ์ฝ๊ณ ์ฐ๊ธฐ(open-read-write, orw), ์ ธ ๋ช ๋ น ์คํ(execve) ๊ถํ์ ์ทจ๋ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค. Shell ๊ถํ์ ํ๋ํ๊ธฐ ์ํ ์ด์ ๋ธ๋ฆฌ ์ฝ๋๋ค์ ๋ชจ์์ โShell Codeโ ๋ผ ์นญํ๋ค. ํ๊ฒฝ์ธํ pwntools checksec shellcraft ROPgadget one_gadget patchelf ์ทจ์ฝ์ ๊ณต๊ฒฉ ์์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ถ์ํ์ฌ ๋ณดํธ๊ธฐ๋ฒ์ ํ์ธํ๋ค. checksec ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ด๋๋ฆฌ์ ์ ์ฉ๋ ๋ณดํธ๊ธฐ๋ฒ์ ํ์ธํ๊ณ , ์ ์ฉ ๋ถ๊ฐ๋ฅํ exploit ๊ธฐ๋ฒ์ ์ถ๋ ค๋ธ๋ค. checksec ์ฐธ์กฐ ldd ๋ช ๋ น์ ํ์ฉํ์ฌ ์์กด์ฑ ๊ด๊ณ๋ฅผ ํ์ธํ๋ค. ldd ๋ช ๋ น ์ฝ๋๋ฅผ ํ์ธํ์ฌ ์ทจ์ฝ์ ๋ฐ ๊ตฌ์กฐ(stack ํํ)์ ํ์ ํ๋ค stack์ ํจ์์์ ์ ์ธ๋ ์์๋๋ก ํ ๋น๋์ง ์์์ ์ฃผ์ํ๋ฉฐ, ๋ฌด์กฐ๊ฑด assembly์ด๋ฅผ ํตํด stack ์ฃผ์์์ ํน์ ๋ณ์์ ์์น๋ฅผ ํ์ธํ๋๋ก ํ๋ค. ...