2024/10 2

[๋ณด์•ˆ] ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์ทจ์•ฝ์  ๋ถ„์„๊ณผ GDB๋ฅผ ํ™œ์šฉํ•œ ๋””๋ฒ„๊น… ์‹ค์Šต

์‹œ์Šคํ…œ ๋ณด์•ˆ ์ˆ˜์—… ์ค‘ ์ง„ํ–‰ํ•œ ๊ณผ์ œ์ž…๋‹ˆ๋‹ค.์‹ค์Šต  overflow.c ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ , ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ Segmentation Fault(์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ํดํŠธ) ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ตœ์†Œ ์ž…๋ ฅ ๊ธธ์ด๋ฅผ ์ฐพ๊ณ , ์ด๋ฅผ GDB ๋””๋ฒ„๊ฑฐ๋กœ ๋ถ„์„ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๋ฐœ์ƒ ์ „ํ›„์˜ ์Šคํƒ ์ƒํƒœ๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋น„์ •์ƒ์ ์ธ ์‹คํ–‰ ํ๋ฆ„์˜ ์›์ธ์„ ํŒŒ์•…ํ•ด๋ณด์ž.  overflow.c#include int main(int argc, char *argv[]) { char buf[16]; gets(buf); printf(“%s\n”, buf);}  ๋ถ„์„ ๊ณผ์ • ์ดˆ๊ธฐ ์„ธํŒ…1.     overflow.c ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๋ช…๋ น์–ด๋กœ ์ปดํŒŒ์ผ์„ ํ•ด์ฃผ๊ธฐ.2.     Gdb๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ๋กœ๋“œํ•˜๊ณ , ..

[AWS, ๋ณด์•ˆ] ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ MITM ๊ณต๊ฒฉ ๋ถ„์„

๋„คํŠธ์›Œํฌ ๋ณด์•ˆ ์ˆ˜์—…์—์„œ ์ง„ํ–‰ํ•œ ๊ณผ์ œ์ž…๋‹ˆ๋‹ค.  ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์€ ํ˜„๋Œ€ ๊ธฐ์—… ๋ฐ ๊ธฐ๊ด€์—์„œ IT ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์šด์˜ํ•˜๋Š” ์ฃผ์š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ AWS, NHN ํด๋ผ์šฐ๋“œ ๋“ฑ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์€ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•˜๋ฉฐ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ API ํ‚ค, ์ž˜๋ชป ๊ตฌ์„ฑ๋œ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๊ถŒํ•œ ๋“ฑ์€ MITM ๊ณต๊ฒฉ์˜ ํ†ต๋กœ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ์˜ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์€ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ด๋กœ ์ธํ•ด ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ(MITM) ๊ณผ ๊ฐ™์€ ๊ณต๊ฒฉ์ด ๋ฐœ์ƒํ•˜์—ฌ ๊ณต๊ฒฉ์ž๋Š” ์ค‘๊ฐ„์— ์œ„์น˜ํ•˜์—ฌ ํ†ต์‹ ์„ ๊ฐ€๋กœ์ฑ„๊ฑฐ๋‚˜ ์กฐ์ž‘ํ•˜์—ฌ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•˜๊ฑฐ๋‚˜ ๋ณ€์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜„์žฌ ์ƒ์šฉํ™”๋˜์–ด์žˆ๋Š” ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ์˜ MITM ๊ณต๊ฒฉ ๊ณผ์ •์„ ์‚ดํŽด๋ณด๊ณ , ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‹ค์ œ ํ™˜๊ฒฝ์˜ ์กฐ๊ฑด์ด ๊ณต๊ฒฉ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ—˜ AWS..