songining
Shellcode ๋ž€?
Hacking/System Hacking 2022. 3. 30. 01:54

์…ธ์ฝ”๋“œ๋ž€? -> ์ต์Šคํ”Œ๋กœ์ž‡์„ ์œ„ํ•ด ์ œ์ž‘๋œ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ ์กฐ๊ฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์…ธ์„ ํš๋“ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ! ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Œ Ex) ํ•ด์ปค๊ฐ€ rip๋ฅผ ์ž์‹ ์ด ์ž‘์„ฑํ•œ ์…ธ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๋ฉด ํ•ด์ปค๊ฐ€ ์›ํ•˜๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ orw ์…ธ์ฝ”๋“œ ์ž‘์„ฑ - ํŒŒ์ผ์„ ์—ด๊ณ  ์ฝ์€ ๋’ค ํ™”๋ฉด์— ์ถœ๋ ฅํ•ด์ฃผ๋Š” ์…ธ์ฝ”๋“œ! /** * /tmp/flag๋ฅผ ์ฝ๋Š” ์…ธ์ฝ”๋“œ */ char buf[0x30]; int fd = open("/tmp/flag", RD_ONLY, NULL); read(fd, buf, 0x30); // ํŒŒ์ผ ์ฝ๊ณ  buf์— ์ €์žฅ write(1, buf, 0x30); // buf ์— ์žˆ๋Š” ๊ฐ’ write ์œ„๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“ค ์…ธ ์ฝ”๋“œ์˜ c์–ธ์–ด ์˜์‚ฌ์ฝ”๋“œ 1. int fd = open(“/tmp/flag”, O_RDONLY, NUL..