์์ฝ๋ ์์ฑํด๋ณด๊ธฐ (2)
ยท
Study/Pwnable
1.execve ์์ฝ๋์์ ์ด์์ฒด์ ๋ฅผ ๊ฐ์ธ๊ณ ์๋ ๊ป์ง์ด๋ค.์ฆ, ์ฌ์ฉ์๊ฐ ์ด์์ฒด์ ์ ๋ช
๋ น์ ๋ด๋ฆฌ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ฌ์ฉ์์ ์ธํฐํ์ด์ค๋ก, ์์ ํ๋ํ๋ฉด ์์คํ
์ ์ ์ดํ ์ ์๊ฒ ๋๋ฏ๋ก ํต์์ ์ผ๋ก ์
ธ ํ๋์ ์์คํ
ํดํน์ ์ฑ๊ณต์ผ๋ก ์ฌ๊ธฐ๋ ๊ฒ์ด๋ค. execve ์
ธ์ฝ๋๋ ์์์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ์์ฝ๋์ธ๋ฐ, ์ด๋ฅผ ์ด์ฉํด์ execve("/bin/sh") ์ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์คํ์์ผ ์๋ฒ์ ์์ ํ๋ํ ์ ์๋ค.//๋ฐ๋ผ์ ๋ค๋ฅธ ์ธ๊ธ์์ด ์
ธ์ฝ๋๋ผ๊ณ ํ๋ฉด ์ด๋ฅผ ์๋ฏธํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ต์ ์ ๋ฆฌ๋
์ค๋ ๋๋ถ๋ถ sh, bash๋ฅผ ๊ธฐ๋ณธ ์
ธ ํ๋ก๊ทธ๋จ์ผ๋ก ํ์ฌํ๊ณ ์์ผ๋ฉฐ, ์ด ์ธ์๋ zsh, tsh ๋ฑ์ ์
ธ์ ์ ์ ๊ฐ ์ค์นํด์ ์ฌ์ฉํ ์ ์๋ค. Ubuntu 22.04์๋ /bin/sh๊ฐ ์กด์ฌํ๋ฏ๋ก, ์ด๋ฅผ ์คํํ๋ execve..