query๊ฐ์ ํตํด ๋ฐ์์ค๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ sql query๋ก ๋ง๋ค์ด db์ ๋ช ๋ น์ ๋ด๋ฆฌ๋ php ์ฝ๋์ด๋ค.
PHP ๋ถ์
์์ Gremlin ๋ฌธ์ ์ ํํฐ๋ง ์ฝ๋์ ํฐ ์ฐจ์ด๋ ์์๋ค. ๋ค๋ง ํน์ id๊ฐ ๋์ค๋ ์ํฉ์์๋ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค๊ณ ํ์ํ๋ ์ ์ ๋ฏธ๋ฃจ์ด ๋ณผ ๋, ํด๋น ๊ฐ์ ๊ฐ์ง ๊ณ์ ์ query ์คํ ๊ฒฐ๊ณผ ๋ณด์ฌ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋ ๊ฒ ๊ฐ์๋ค. ๋ฐ๋ผ์ ์๋ฌธ์ ์ฒ๋ผ idํ๋๋ฅผ ๋น์ฐ๊ณ OR๋ก ๋ฌดํํฐ๋ง ํต๊ณผ๋ฅผ ์ํค๋ ๋์ , admin ๊ณ์ ๋ง ํํฐ๋ง์ํจ ๋ค md5๋ก ์ํธํํ์ฌ ๊ฐ์ ๋น๊ตํ๋ ํ๋ฐ๋ถ ๊ฐ์ ๋ฌด์์ํค๋ฉด Inejction์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋ค.
Injection
๋ฐ๋ผ์ ์ฒ์ ์๋ํ Injection Code๋ ๋ค์๊ณผ ๊ฐ๋ค:
admin'#
์ ์์ ์ผ๋ก admin ๊ฐ์ ์ฐพ๊ฒํ ํ, ๋ค์ #์ ๋ถ์ฌ ๋ท ์ฝ๋๋ฅผ ๋ชจ๋ ๋ฌดํจํ์์ผฐ๋ค.
์ดํ ํ์ธํ ๋ชจ๋ฒ Injection Code๋ ๋์ผํ๋ค.
How to Defence
์๊ฐํด๋ณธ ๋ฐฉ๋ฒ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค. (์ฌ์ค ์ด์ ๋ฌธ์ ์์ ์๊ฐํ๋ ๋ฐฉ์ด๋ฐฉ๋ฒ๊ณผ ๋์ผํ๋ค):
1. %์ด๋ #๊ฐ์ผ๋ก ๊ฐ์ด ๋ค์ด์ค๋ฉด ์์ฒญ ์์ฒด๋ฅผ ์ทจ์
SQL Injection์ ๋๋ถ๋ถ query ๋ณ์กฐ๋ฅผ ํตํด ๋ค์ด์ค๊ธฐ ๋๋ฌธ์, query์ ํน์๋ฌธ์๋ฅผ ์ ๋ ฅํ๊ธฐ์ํด ๋ฐ๋์ ํ์ํ %๋ฌธ์๋ฅผ ์ ์ด์ ๋ง๋๋ค. ๋ํ ์ฟผ๋ฆฌ๋ฌธ ์ฃผ์์ ์ ๋ํ๋ #๋ฌธ์ ๋ํ ๊ธ์ง์์ผ ์๋ํ ์ฝ๋์ ์คํ์ค๋จ์ ๋ฐฉ์งํ๋ค. ๋ค๋ง ์ด ๋ฐฉ๋ฒ์ ์ํด์๋ ๋น๋ฐ๋ฒํธ๋ ์์ด๋์ %๋ฌธ์์ #๋ฌธ์ ์ ๋ ฅ์ ๊ธ์ง์์ผ์ผ ํ๋ค.
2. ๋ชจ๋ ํน์๋ฌธ์ ์์ ์ญ์ฌ๋ ์ ('\') ๋ถ์ด๊ธฐ
์ญ์ฌ๋ ์๋ฅผ ํน์๋ฌธ์ ์์ ๋ถ์ด๊ฒ ๋๋ฉด ํด๋น ๊ฐ์ด ๊ฐ์ง๋ ํน๋ณํ ์๋ฏธ๊ฐ ์๋ ๋ฌธ์ ์์ฒด์ ์๋ฏธ๋ก ์ปดํจํฐ๊ฐ ํด์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ํน์๋ฌธ์ ์์ ์ญ์ฌ๋ ์๋ฅผ ๋ถ์ด๋ฉด ์๋ณ์กฐ๋ฅผ ๋ง์ ์ ์์ ๊ฒ์ด๋ผ ์๊ฐํ๋ค.
'๐ ๋ณด์,์ ๋ณด๋ณดํธ > ๐ [STUDY] ์ทจ์ฝ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ SQL Injection ] webhacking.kr - 21 (0) | 2021.09.20 |
---|---|
[ SQL Injection ] Goblin (0) | 2021.09.13 |
[ SQL Injection ] Gremlin (0) | 2021.09.13 |