
๐ ๋ชจ์ํดํน ์ค๋ฌด์๊ฐ ์๋ ค์ฃผ๋, SQL Injection ๊ณต๊ฒฉ ์๋ฆฌ์ฆ!

- PART(1) : ๊ธฐ์ด / ์ค๋ฌด ๊ณต๊ฒฉ / ์ํ์ด ์ฝ๋ฉ โ ํ์ฌ ๊ฐ์ข
SQL Injection ๊ณต๊ฒฉ์์ ๊ฐ์ฅ ์ค์ํ ๋ด์ฉ์ ๋ค๋ฃจ๋ ๊ต์ก์ผ๋ก ๊ธฐ์ด์์๋ถํฐ ์ค๋ฌด์์ ์ฌ์ฉ๋๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ๋ค๊ณผ ๋ค์ํ ๋์ ๋ฐฉ์๊ณผ ์ํ์ด ์ฝ๋ฉ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค. ์ดํ ์งํ๋ ๊ต์ก์ ๊ธฐ๋ณธ์ด ๋๋ ํ์ ๊ต์ก์
๋๋ค.
- PART(2) : ์์ฉ / ์ฌํ / ๊ณ ๊ธ
PART(1)์์ ๋ค๋ฃจ์ง ์์ ์์ฉ ๊ณต๊ฒฉ ๊ธฐ๋ฒ๊ณผ ๊ณ ๊ธ ๊ณต๊ฒฉ ๊ธฐ๋ฒ๋ค์ ๋ํ ๊ต์ก์
๋๋ค.
- PART(3) : ์๋ํ ๋๊ตฌ ์ ์
๋ฐฐ์ ๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ๋ค์ ์๋ํ ๋๊ตฌ์ ๊ทธ๋๋ก ์ ์ฉ์ ํ์ฌ Python ๊ธฐ๋ฐ์ ์๋ํ ๋๊ตฌ๋ฅผ ์ ์ํ๋ ๊ต์ก์
๋๋ค.
๐ ์ SQL Injection์ ๋ฐฐ์์ผ ํ ๊น?
์น ํดํน๊ณ์ ์ธ์ธ! ๋ง์ ์ฌ๋๋ค์ด ์๊ณ ์๋ค๋ ๊ฒ์ ๊ทธ๋งํผ ํด๋น ๊ณต๊ฒฉ์ด ๊ฐ์ง๊ณ ์๋ ์ํฅ๋ ฅ์ด ํฌ๋ค๋ ๊ฒ์ด๊ฒ ์ฃ ?

์ค๋๋ ์ ์น ์ดํ๋ฆฌ์ผ์ด์
๋ค์ ๋๋ถ๋ถ ์ฌ์ฉ์ ์
๋ ฅ ๊ฐ์ ํตํด ๋์ ์ผ๋ก ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ๋ฅ๋ค์ด ๋ง์ด ์์ต๋๋ค. ์ด๋ฐ ํ๊ฒฝ ์์์, ๊ณต๊ฒฉ์ ๊ด์ ์์๋ ๊ณต๊ฒฉ ๋์์ด ๋ง์์ง์ ๋ฐ๋ผ ํจ๊ณผ์ ์ธ ๋ถ์ ๋ฐฉ๋ฒ ๊ทธ๋ฆฌ๊ณ ๊ฐ ์ํฉ์ ๋ฐ๋ฅธ ๊ณต๊ฒฉ ๊ธฐ๋ฒ ๋ฑ์ ๊ณต๊ฒฉ ๊ธฐ์ ์ ํ์๋ก ํฉ๋๋ค. ๋ฐ๋๋ก, ๋ฐฉ์ด์ ๊ด์ ์์๋ ํจ๊ณผ์ ์ธ ๋ฐฉ์ด๋ฅผ ์ํด ์ธ๋ผ์ธ ๊ตฌ๊ฐ์ ๋ณด์ ์๋ฃจ์
์ ์ค์นํ๊ฑฐ๋, ์ํ์ด ์ฝ๋ฉ์ ํ๊ฒ ๋ฉ๋๋ค. ๊ณต๊ฒฉ์ ์์์ผ ๋ฐฉ์ด๋ฅผ ํ ์ค ์๊ฒ ์ฃ ?
๐ ์ค๋ฌด์์ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฒฉ ๊ธฐ์ !
ํจ๊ณผ์ ์ธ ์ทจ์ฝ์ ๋ถ์์ ์ํด ๋ค์ํ ๊ณต๊ฒฉ ํฌ์ธํธ์ ๋ํด ์ด๋ค ๋ฐฉ๋ฒ๋ก ์ผ๋ก ๋ถ์์ ํด์ผ ๋๋ฉฐ, ์ด๋ค ํ๊ฒฝ์์ ์ด๋ค ๊ณต๊ฒฉ์ ํด์ผ ๋ ์ง ๊ธฐ์ค์ด ๋ช
ํํด์ง๊ณ ์ด์ ๋ฐ๋ฅธ ๊ณต๊ฒฉ ๊ธฐ๋ฒ๋ค์ ๋ฐฐ์ฐ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ์ค๋ฌด์์ ์ฌ์ฉํ๊ณ ์๋ ๊ฐ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ ๋ํด ์์ธํ ๋ค๋ฃน๋๋ค.

๐ ๊ฐ DBMS์ ๋ํ PHP ๊ธฐ๋ฐ์ ์ค์ต ๊ฒ์ํ ์ ๊ณต!
PHP-MYSQL, PHP-MSSQL, PHP-ORACLE ๊ธฐ๋ฐ์ ์ค์ต ๊ฒ์ํ์ ์ ๊ณตํด๋๋ฆฌ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ค์ํ DBMS๋ณ SQL Injection ์ค์ต์ด ๊ฐ๋ฅํฉ๋๋ค.

๐ ๋ฐ๋ผํ๋ฉด์ ๋ฐฐ์ฐ๋ SQL Injection ๊ณต๊ฒฉ ๊ธฐ๋ฒ๊ณผ ์ํ์ด ์ฝ๋ฉ!
SQL Injection ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ ์์ฑํ๊ธฐ ์ํ ๊ฐ ๊ธฐ์ ์์๋ค์ ์ด๋ก ์์ ๋๋๋ ๊ฒ์ด ์๋๋ผ
DBMS๋ณ๋ก ์ง์ ์ค์ต์ ์งํํฉ๋๋ค.

๊ฐ ๊ธฐ๋ฅ๋ณ ๋์ ๋ฐฉ์์ ์์ธํ ์ดํด๋ณด๊ณ , ์ทจ์ฝํ ๊ฒ์ํ์ ๋ํด ์ง์ ์ํ์ด ์ฝ๋ฉ ์ ์ฉํ๋ ์ค์ต์ ์งํํฉ๋๋ค.

๐ ๊ต์ก์ ํตํ ๊ธฐ๋ ํจ๊ณผ
- ์ด์ ๋ง SQL Injection์ ๊ณต๋ถํ์๋ ๋ถ์ด๋ผ๋ฉด, ๋ณธ ๊ต์ก์ด ๊ฐ์ด๋๋ผ์ธ์ด ๋์ด์ ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ ์ก์๋๋ฆฌ๊ฒ ์ต๋๋ค.
- ๊ธฐ์กด์ SQL Injection์ ์๊ณ ๊ณ์
จ๋ ๋ถ์ด๋ผ๋ฉด, ํฉ์ด์ ธ ์๋ ์ง์์ด ํ๋๋ก ์ฐ๊ฒฐ๋๋ ๋ง๋ฒ์ ๊ฒฝํํ ์ ์๊ณ ๋ฐฉํฅ์ ์ก์ง ๋ชปํ๊ณ ๊ณ์ ๋ค๋ฉด ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ ์ก์๋๋ฆฌ๊ฒ ์ต๋๋ค.

๐ ์ฌ๊ธฐ์ ๋ค๋ฃจ๋ ํ๋ก๊ทธ๋จ
- Burp Suite
- APMSetup / MSSQL / ORACLE
- QueryBox
โป Burp Suite ์ฌ์ฉ ๋ฐฉ๋ฒ์ ๋ณธ ๊ต์ก์์๋ ๋ค๋ฃจ์ง ์์ผ๋ฉฐ, "์น ํดํน๊ณผ ๋ชจ์ํดํน ํ์
์ ๋ํ ์ด์ผ๊ธฐ" ๊ต์ก์์ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ฐธ๊ณ ํ์๋ฉด ๋ฉ๋๋ค.
๐๐ปโโ๏ธ ์ง๋ฌธ QnA
Q. ๊ต์ก์ ๋ฃ๊ณ ์ถ์๋ฐ ๊ทธ์ ์ ์์์ผ ๋ ๊ฒ๋ค์ด ์๋์?
A. ๊ธฐ๋ณธ์ ์ผ๋ก ์น ๊ธฐ์ด, SQL ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ํ์์ ์ผ๋ก ์๊ณ ๋ค์ผ์
์ผ ํ๋ฉฐ, ์ถ๊ฐ์ ์ผ๋ก ์น ํดํน ๊ต์ก์ ๋ฃ๋ ๊ฒ๋ ์ถ์ฒํฉ๋๋ค.
Q. ๊ต์ก์ ์ ๋ถ ๋ฃ๊ฒ ๋๋ฉด ์ค๋ฌด ์ง๋จ์ ํ ์ ์๋์?
A. ๋น์ฐํฉ๋๋ค! ๊ทธ๋ฌ๋, ๊ต์ก๋ง ๋ฃ๋๋ค๊ณ ๋๋ ๊ฒ์ด ์๋๋๋ค. ๊ณต๊ฒฉ์ด๋ ํ์๋ฅผ ํ๊ธฐ ์ํด ๋ณธ์ธ ์ค์ค๋ก ๊ณต๋ถ๋ฅผ ํ๊ณ ์ค์ต์ ์ถฉ๋ถํ ํด์ผ ๋ง์กฑํ ๋งํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด๋ค ๋ฌด์๊ฐ๋ฅผ ์ป์ผ๋ ค๋ฉด ์ด์ ์๋ฐ๋๋ ๋
ธ๋ ฅ์ด ํ์ํ๊ธฐ ๋ง๋ จ์
๋๋ค.
Q. ๋ค๋ฅธ ๋ชจ์ํดํน ๊ต์ก๋ค์ SQL Injection ๊ต์ก์ ๋นํด ๊ต์ก ์๊ฐ์ด ๋ง์ด ๊ธด๋ฐ ์ ๊ทธ๋ฐ๊ฐ์?
A. ๋ณธ ๊ต์ก์ SQL Injection๋ง์ ๋ค๋ฃจ๋ ์ ๋ฌธ์ ์ธ ๊ต์ก์ด๋ค ๋ณด๋ ๊ธธ ์๋ฐ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌผ๋ก ์ ๊ทผ ๋ฐฉ๋ฒ๋ ์์ ํ ๋ค๋ฅผ ๊ฒ์
๋๋ค. ๊ธฐ์กด์ ๊ณต๊ฒฉ ์ ๊ทผ ๋ฐฉ๋ฒ์ ๊ณต๊ฒฉ๋ณ๋ก ๊ฐ์ ๋ฐ๋ก ๋ฐ๋ก ๋์ด ์๋ค๋ฉด, ๋ณธ ๊ต์ก์ ๊ทธ๊ฒ์ ํ๋์ ๋งฅ์ผ๋ก ์ด์ด์ ๋ถ์๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ์ ์ด๋ฐ ๊ณต๊ฒฉ์ ํด์ผ ๋๋์ง ์ด์ ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
Q. ๋น ์ ๊ณต์, ํ์๋ค๋ ๋ค์ ์ ์๋์?
A. ๋น์ฐํฉ๋๋ค! ๋ค๋ง ์๋์ ํ์ ์์ฒญ ๊ฐ์ข๋ฅผ ์๊ฐํ์๊ณ ์ดํด๊ฐ ์๋ฃ๋์๋ฉด, ๋ณธ ๊ต์ก์ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
๐ก ํ์ ์์ฒญ ๊ฐ์ข
โป ๋ณธ ๊ต์ก PPT์๋ ๋ค์ด๋ฒ์์ ์ ๊ณตํ ๋๋๊ธ๊ผด์ด ์ ์ฉ๋์ด ์์ต๋๋ค.