1. Buffer Overflow์ ์ดํด
- ๋ฒํผ๋ ์์คํ ์ด ์ฐ์ฐ ์์ ์ ํ๋ ๋ฐ ์์ด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ๊ณต๊ฐ์ ๋งํ๋ค.
- ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋จ์์๋ ๋ฒํผ๋ฅผ ์คํ์ ์์ฑํ๋ค. ์คํ์ ํจ์ ๋ด์์ ์ ์ธํ ์ง์ญ ๋ณ์๊ฐ ์ ์ฅ๋๊ณ ํจ์๊ฐ ๋๋๋ฉด ๋ฐํํ๋ค.
- ๋ฏธ๋ฆฌ ์ค๋น๋ ๋ฒํผ๋ณด๋ค ํฐ ๋ฐ์ดํฐ๋ฅผ ์ธ ๋ Buffer Overflow๊ฐ ๋ฐ์ํ๋ค.
- ๊ณต๊ฒฉ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ์์์ ์์น์ ์ํ๋ ์ฝ๋๋ฅผ ์ ์ฅ์์ผ ๋๊ณ return address๊ฐ ์ ์ฅ๋์ด ์๋ ์ง์ ์ ๊ทธ ์ฝ๋์ ์ฃผ์๋ฅผ ์ง์ด ๋ฃ์ด์ EIP์ ๊ณต๊ฒฉ์์ ์ฝ๋๊ฐ ์๋ ๊ณณ์ ์ฃผ์๊ฐ ๋ค์ด๊ฐ๊ฒ ํด ๊ณต๊ฒฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
1.1 Byte order
ํ์กดํ๋ ์์คํ ๋ค์ ๋ ๊ฐ์ง์ ๋ฐ์ดํธ ์์ ๋ฐฉ์์ ๊ฐ์ง๋ค. 74E3FF59๋ผ๋ 16์ง์ ๊ฐ์ ์๋ก ๋ค์ด๋ณด์.
- big endian : ๋ฐ์ดํธ ์์๊ฐ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์์ ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์, 74E3FF59 ์์๋๋ก ์ ์ฅ๋๋ค.
- little endian : ๋ฐ์ดํธ ์์๊ฐ ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์์ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก, 59FFE474 ์์๋ก ์ ์ฅ๋๋ค.
little endian์ด ์ ์ฅ ์์๋ฅผ ๋ค์ง์ด ๋๋ ์ด์ ๋ ์๋ฅผ ์ฐ์ฐํ ๋ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ์์ญ์ ๋ณํ๋ ์์ ํฌ๊ธฐ ๋ณํ๊ฐ ๋ ์ ๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ ๋ค์ด 74E3FF59์ 1์ ๋ํด 74E3FF5A๊ฐ ๋์์ ๋ ๋ฉ๋ชจ๋ฆฌ์์์์ ๋ณํ๋ 5AFFE374๊ฐ ๋๋ค. ์ฆ, ๋ฎ์ ์์ ๋ณํ๋ ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ํฅ์ ๋ฐ๊ณ ๋์ ์์ ๋ณํ๋ ๋์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์๋ฆฌ๋ฅผ ์ก๊ฒ ํ๋ ๊ฒ์ด๋ค. (ํ์ง๋ง ํ ๋ฐ์ดํธ ๋ด์์์ bit ์์๋ big endian ๋ฐฉ์์ผ๋ก ์ ๋ ฌ๋๋ค.)
1.2 ์ ์คํ ํ๋ก๊ทธ๋จ
์ฐ๋ฆฌ๊ฐ ์ ์์์ ์์ ์คํ์ํค๋ ค๋ฉด '/bin/sh' ๋ผ๋ ๋ช ๋ น์ ๋ด๋ฆฌ๋ฉด ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์คํ ํ๋ก๊ทธ๋จ ์ญ์ ์ด ๋ช ๋ น์ ๋ด๋ฆฌ๋ ๊ฒ๊ณผ ๋๊ฐ์ ์ผ์ ํ๋๋ก ํด์ฃผ๋ฉด ๋๋ค.
'๐ ๋ณด์ยท์ทจ์ฝ์ > ๐ธ์์คํ ยท์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Set-UID ์ ๋ฆฌ (0) | 2022.08.21 |
|---|---|
| [dreamhack] pwnable fd (0) | 2022.08.14 |
| [Python] quizmachine ํ์ด (0) | 2022.08.12 |
| nc ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ (0) | 2022.08.12 |
| [ubuntu] SSH ์ ์ ์ค์ต (0) | 2022.08.12 |