ํฌ๋ก์ค์ฌ์ดํธ ์คํฌ๋ฆฝํธ(XSS)๋ ๋๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
- stored : ๊ณต๊ฒฉ์๊ฐ ์ ๋ ฅํ ์ฝ๋๊ฐ ์๋ฒ์๋ ์ ์ฅ๋์ด ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ๋ ์ํฅ์ ์ฃผ๋ ๊ฒ.
- reflected : ๊ณต๊ฒฉ์๊ฐ ๊ณต๊ฒฉ์ ์์ ์๊ฒ XSS๋ฅผ ์ผ์ผํค๋ ๊ฒ.(์๋ฒ์ ์ํฅX)
** ๊ทธ๋ ๋ค๋ฉด, reflected XSS๊ฐ ์ทจ์ฝ์ ์ธ ์ด์ ๋ ๋ฌด์์ผ๊น?
--> ๊ณต๊ฒฉ์๊ฐ [์ ๋ขฐํ ์ ์๋ ์ฌ์ดํธ]์ url์ ๋ท๋ถ๋ถ์ [์ ์ฑ์ฌ์ดํธ์ url]์ ๋ํด์ ์ผ๋ฐ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๋ค๋ฉด?
--> ์ฌ์ฉ์๋ค์ ์์ฌ์์ด ๊ทธ url์ ์ ์ํ ๊ฒ์ด๋ค.
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
XSS ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํด๋ณด์.
--> ์ ๋ ฅ์ด ๊ฐ๋ฅํ ๋ชจ๋ ์ ๋ ฅ์ฐฝ์ ์ ์์ ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ ๋ ฅํ๋ค.
**์ ์์ ์ธ ์คํฌ๋ฆฝํธ : ์ฌ์ฉ์์ ๋ชฉ์ ์ธ์ ์๋ํ์ง ์์ ์ผ์ด ์ผ์ด๋๋ ๊ฒ.(tag, ์ด๋ฒคํธํธ๋ค๋ฌ, ํ์ ๋ก ์ด๋ฃจ์ด์ง.)
** ์ ๋ ฅ์ด ๊ฐ๋ฅํ ๋ชจ๋ ์ฐฝ์ ์ ๋ ฅํ๋ค๋ ์ ์์ SQL Injectionํ๊ณ ์ ์ฐจ์ด๊ฐ ์กด์ฌํ๋ค.
ex)
<img src=" "on error="alert("๊ฒฝ๊ณ ")";>
XSS ๋ฅผ ๋ง๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ๋ค.
๋ฐฉ๋ฒ (1) : ์
๋ ฅ ๋ง๊ธฐ
๋ฐฉ๋ฒ (2) : ์ถ๋ ฅ ๋ง๊ธฐ
- --> ํํฐ๋ง ("<", ">", "ํ๊ทธ" ์ ๊ฐ์ ๋ฌธ์๋ฅผ ํํฐ๋งํ๊ฑฐ๋ ์์ "on ~ "๊ณผ ๊ฐ์ ์ด๋ฒคํธํธ๋ค๋ฌ๋ค์ ํํฐ๋งํ์ฌ๋ ๋๋ค.)
- --> ์ด๋, ํํฐ๋ง์ ๊ผผ๊ผผํ ์ ๋๋ก ๊ฑธ์ง ์์ผ๋ฉด ์ ์ฑ์ฝ๋๊ฐ ์๋ ์ ์์ฝ๋๊น์ง๋ ํํฐ๋งํ ์ ๋ ์๊ธฐ๋๋ฌธ์ ์ฃผ์ํด์ ํํฐ๋ง์ ํด์ผํ๋ค.(ํํ์ด์ง ๊นจ์ง ํ์.)
- --> ํํ์ด์ง ๊นจ์ง ํ์๊ณผ ๊ฐ์ ์์ ๋๋ฌธ์ ๋ณดํต ์ ๊ท์ฌ์ดํธ์์ ์๋๋๊ณคํ๋ค.
* ์ ๋ ฅ์์ ํ๋ฌธ์ ์ธ์ฝ๋ฉํ์ฌ ์ถ๋ ฅ๋๊ธฐ๋ ํ๋๋ฐ, ์ญ์ผ๋ก ์ธ์ฝ๋ฉ๋ ๊ฐ์ ์ ๋ ฅํ๋ฉด ๋์ฝ๋ฉ๋ ์ํ๋ก ์ถ๋ ฅ๋๊ธฐ๋ ํ๋ค.
ใ กใ กใ กใ กใ ก
- ๋ธ๋๋ฆฌ์คํธ : ์๋๋ ๊ฒ ์ง์ .
- ํ์ดํธ๋ฆฌ์คํธ : ๋๋ ๊ฒ ์ง์ . ==> ์ฌ์ฉ์๊ฐ ์ํ๋ ๊ฒ์ ํ์ฉ.(์ ์์ ์ด์ง ์์ ๊ฒ๋ง.)
--> ๋ธ๋๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ ๋ฐฉ์ดํ๋ ๊ฒ ๋ณด๋ค ํ์ดํธ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ ๋ฐฉ์ดํ๋ ๊ฒ์ด ๋ ์ข๋ค.
์ธ์ ํ์ด์ฌํน
๊ณต๊ฒฉ์๊ฐ ์ฌ์ฉ์์ ์ธ์ ์ ๋ชฐ๋ ํ์ทจํ๋ ๊ฒ.
1. XSS๋ฅผ ํตํด ๊ฒ์ํ์ ์ฌ์ฉ์๊ฐ ํด๋น ๊ธ์ ๋ณด๋ ค๊ณ ํด๋ฆญํ๋ฉด ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋๋๋ก ๊ธ์ ์ด๋ค.
2. XSS๋ฅผ ํตํด ๊ณต๊ฒฉ์๊ฐ ๋ฏธ๋ฆฌ ์ค๋นํด๋ IP๋ก ์ฌ์ฉ์๊ฐ ํด๋ฆญํ ์๊ฐ ์ฌ์ฉ์์ ์ธ์ ์ ๋ณด๊ฐ ์ ์ก๋๋๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑ.
3. ์ธ์ ์ ๋ณด๋ฅผ ๋ณต์ฌํ์ฌ ์ ์
4. ํด๋น ์ฌ์ฉ์์ ๋ก๊ทธ์ธํ ๋ค์ ์ํ์ ํ์ด์ง๋ก ์ ์ ์ฑ๊ณต.
์ฝํ ๋ฌธ์์ด ๊ฐ๋
์ ๊ฒ ๋ด์ฉ : ์นํ์ด์ง ๋ด์ ๋ก๊ทธ์ธ ํผ ๋ฑ์ ์ฝํ ๊ฐ๋์ ๋ฌธ์์ด ์ฌ์ฉ ์ฌ๋ถ ์ ๊ฒ.
์ ๊ฒ ๋ชฉ์ : ์ ์ถ ๊ฐ๋ฅํ ์ทจ์ฝํ ๋ฌธ์์ด ์ฌ์ฉ์ ์ ํํ์ฌ ๊ณ์ ๋ฐ ํจ์ค์๋ ์ถ์ธก ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํจ.
ex) admin, administrator, manager, guest, test, scott, tomcat, root, user, operator, anonymous ๋ฑ
- ๋ง์ฝ n๋ฒ์งธ ์ธ์ฆ์ ๋ก๊ทธ์ธ์ ์ ํํ๋ ๊ฒฝ์ฐ
- --> ID๋ ๋ง์์ ๊ณต๊ฒฉ์๊ฐ ์๊ฒ๋๋ค. --> ์ทจ์ฝ.
- ID๋ ๋ง๊ณ PW๋ ํ๋ ธ๋๋ฐ PW๊ฐ ํ๋ ธ๋ค๊ณ ์ค๋ฅ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ ๊ฒฝ์ฐ :
- --> ID๋ ๋ง์์ ๊ณต๊ฒฉ์๊ฐ ์๊ฒ๋๋ค. --> ์ทจ์ฝ.
ใ กใ กใ กใ กใ ก
๊ฐ์ฅ ์ด์์ ์ธ PW ์กฐํฉ ๊ฒฝ์ฐ :
(1) ์๋ฌธ ๋๋ฌธ์
(2) ์๋ฌธ ์๋ฌธ์
(3) ์ซ์
(4) ํน์๋ฌธ์
(5) ๊ณต๋ฐฑ
** ๊ณต๋ฐฑ์ ์ฒ๋ฆฌํ๊ธฐ ํ๋ค๊ธฐ ๋๋ฌธ์ ํฌํจ๋์ง ์๊ธฐ๋ ํ๋ค.
** ๊ณต๋ฐฑ : ํ์นธ. (์ฑ์ฐ๋ ค๋ฉด ์ง์ฐ๊ณ ๋ฃ์ด์ผ ํจ.)
** null : ์๋ฌด๊ฒ๋ ์์.(์ฑ์ธ๋ ๋ฐ๋ก ๋ฃ์ผ๋ฉด ๋จ.)
**
๋ณดํต ์ด๋ค ์ฌ์ดํธ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ๋, ํจํท ๋จ๊ณ์์๋ถํฐ ์ํธํ๋ฅผ ํ๋ค.
๊ทธ๋ฌ๋, ๊ธ์ต๊ถ ์ฌ์ดํธ์ ๊ฒฝ์ฐ, ์ฌ์ฉ์๊ฐ PC์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ๋๋ถํฐ ํ๋ก์์์ ์ํธํ๊ฐ ๋๋ค.
๋ถ์ถฉ๋ถํ ์ธ์ฆ
์ ๊ฒ ๋ด์ฉ : ์ค์ ํ์ด์ง ์ ๊ทผ ์ ์ถ๊ฐ ์ธ์ฆ ์๊ตฌ ์ฌ๋ถ ์ ๊ฒ
์ฌ์ฉ์๊ฐ ๊ณ์ ์ ์์ฑํ ๋, ๋ณดํต ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
์์ ๊ฐ์ ๋ฐฉ์์ ๊ฑฐ์น๋๋ฐ, ๋ง์ฝ์ (2), (3)๋ฒ ๋จ๊ณ์ ๊ณผ์ ์์ด ๊ณ์ ํ์ธ ํ ๋ฐ๋ก ๊ณ์ ์ด ์์ฑ๋๋ ํ์ด์ง๋ก ๋์ด๊ฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด๋ฌํ ๊ฒฝ์ฐ์ ์๊ธฐ๋ ๋ฌธ์ ์ ์ ๋ฌด์์ผ๊น?
--> ์ค๋ณต๊ณ์ ์ ๋ง๋ค๊ฒ ๋ ์ ์๊ณ , ํ ์ฌ๋์ด ๊ณ์ ์ ์ฌ๋ฌ๊ฐ ๋ง๋ค ์ ์๊ฒ ๋๋ค. (์ทจ์ฝ์ .)
--> ์ด๋ฌํ ์ด์ ๋ก (2)์ธ์ฆ๋จ๊ณ๊ฐ ์กด์ฌํ๋ ๊ฒ์ด๋ค.
ex)
์๋ฅผ ๋ค์๋ฉด,
(3)์์ URL์ ๋ณต์ฌํด๋๊ณ
(2)๋จ๊ณ ์์ด (1)์์ ๋ณต์ฌํด๋ URL์ ํตํด ๋ฐ๋ก (3)์ผ๋ก ์ ์์ด ๊ฐ๋ฅํ๋ค๋ฉด
์ทจ์ฝ์ ์ด๋ค.
์ด๋ฐ ๊ฒฝ์ฐ ์ ๋ ๊ด์ ์์ ๊ฑธ๋ฌ๋ผ ์ ์๋ ์ทจ์ฝ์ ์ด๊ณ ,
์ค๊ณ๊ฐ ์๋ชป๋ ๊ฒฝ์ฐ์ด๋ค.
ํด๊ฒฐ๋ฒ์ผ๋ก๋ "ํ ํฐ"์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
ใ กใ กใ กใ กใ ก
ex2) ์ค์์ ๋ณด ํ์ด์ง(๊ฐ์ธ์ ๋ณด ๋ณ๊ฒฝ ๋ฑ) ์ ๊ทผ ์ ์ฌ์ธ์ฆ ์ฌ๋ถ ํ์ธ
์ด๋ฏธ ๋ก๊ทธ์ธ์ ์๋ฃํ ์ํ์ธ๋ฐ, ๊ฐ์ธ์ ๋ณด ๋ณ๊ฒฝ์ ํ๋ คํ๋ฉด ๋ค์ ๋ณธ์ธ์ธ์ฆ์ ํ๋ ์ด์ ๊ฐ ๋ฌด์์ผ๊น?
--> ๊ณต๊ฒฉ์๊ฐ ์ ์์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ก๊ทธ์ธํ ํ ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ๋ คํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
--> ์ ์์ ์ธ ๋ก๊ทธ์ธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ธ์ ํ์ด์ฌํน , SQL ์ธ์ ์ ๋ฑ์ด ์์ ์ ์๋ค.
์ทจ์ฝํ ํจ์ค์๋ ๋ณต๊ตฌ
์ ๊ฒ ๋ด์ฉ : ์น ์ฌ์ดํธ ๋ด ํจ์ค์๋ ๋ณต๊ตฌ ์ ์ฐจ์ ์ ์ ์ฑ ์ ๊ฒ.
์ ๊ฒ ๋ชฉ์ : ํจ์ค์๋ ๋ณต๊ตฌ ๋ก์ง์ ์ ์ถํ๊ธฐ ์ด๋ ต๊ฒ ๊ตฌํํ๊ณ , ์ธ์ฆ๋ ์ฌ์ฉ์ ๋ฉ์ผ์ด๋ sms์์๋ง ๋ณต๊ตฌ ํจ์ค์๋๋ฅผ ํ์ธํ ์ ์๋๋ก ํ์ฌ ๋น์ธ๊ฐ์๋ฅผ ํตํ ์ฌ์ฉ์ ํจ์ค์๋ ํ๋ ๋ฐ ๋ณ๊ฒฝ์ ๋ฐฉ์งํ๊ธฐ ์ํจ.
** [๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ] ํ ๋, ๋ฐ๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ํ๋ฉด์ด ๋ ธ์ถํ์ฌ ์๋ ค์ฃผ๋ ๊ฒ์ด ์๋๋ผ,
email์ด๋ sms๋ก ์๋ก ์์๋น๋ฒ์ ์๋ ค์ฃผ๋ ์ด์ ๋ ๋ฌด์์ผ๊น??
--> ๋ฐ๋ก ๋ณด์ฌ์ฃผ์ง ์๊ณ ๋ค๋ฅธ ๋งค์ฒด๋ก ์๋ ค์ฃผ๋ ์ด์ :
์ธ์ฆ๋ ๋งค์ฒด๋ก ์๋ ค์ค์ผ๋ก์จ ์ฌ์ฉ์ ๋ณธ์ธ์ด ์๋ ๊ณต๊ฒฉ์๊ฐ ์๋ํ ๊ฒฝ์ฐ ์์์ฐจ๋ฆฌ๊ฒ ํ๊ธฐ ์ํจ.
--> ๊ธฐ์กด ๋น๋ฐ๋ฒํธ๊ฐ ์๋๋ผ ์๋ก์ด ์์๋น๋ฐ๋ฒํธ๋ฅผ ์๋ ค์ฃผ๋ ์ด์ :
์๋ฒ์๋ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ฌธ์ด ์๋๋ผ ์ํธํ๋์ด์์ด์ ์๋ฒ๋ ๋ญ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
ใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ กใ ก
ํฌ๋ก์ค ์ฌ์ดํธ ๋ฆฌํ์คํธ ๋ณ์กฐ(CSRF)
์๋์ ์์๋ ์๋ฌด๋ฐ ์ํฅ์ด ์๋ ํ์์ด๋ค. -->
ํจํทํ ๋๊ธฐ ์ ์ ๋ณ์กฐ๋ฅผ ํด์ผ ์ํฅ์ด ์๊ธฐ๊ณ ,
์๋ต๋ฐ์ ํ์ ๋ณ์กฐํ๋ฉด ์ฝ๋๋ฅผ ์น ์ฌ๋ ๊ทธ ์์ ์๊ฒ๋ง ์ํฅ์ด ์๊ธด๋ค.
์ธ์ ์์ธก
์ ๊ฒ ๋ด์ฉ : ๋จ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑ๋๋ ์ธ์ ID๋ฅผ ์์ธกํ์ฌ ์ธ์ ํ์ทจ ์ฌ๋ถ ์ ๊ฒ.
- ์ธ์ ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ธํฐ๋ท์ ์ทจ์ฝํ๋ค.
- ๊ทธ๋ฌ๋, ์ธ์ ์ด ์์ด์ผ ์ธํฐ๋ท์ ์ฌ์ฉํ ์ ์๋ค.
- ์ธ์ ๋ง๋ฃ : '๋'๋ฅผ ์ธ์ฆํ๋ ๊ฒ์ด ๋ง๋ฃ.(๋ง๋ฃ ์ํค๋ ์ด์ : ํ์ทจ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.)
- ์์ธก์ด ๊ฐ๋ฅํ๋ฉด ๋ค๋ฅธ ์ธ์ ์ ์ ์์ด ๊ฐ๋ฅ๋ ์ ์์. --> ์ทจ์ฝ.
- ์ธํฐ๋ท์ ์ฐ๊ฒฐ์ด ์๋๋ผ SYN, ACK๋ก ๋ฌป๋ต์ด๋ผ ์ทจ์ฝํ๋ค.
์ทจ์ฝ / ์ํธ ํ๋จ ๊ธฐ์ค : --> ์ํธ : ์ถ์ธก ๋ถ๊ฐ๋ฅํ ์ธ์ ID๊ฐ ๋ฐ๊ธ๋๋ ๊ฒฝ์ฐ.
** ๋ฐ๋ผ์
์ธ์ ์๋ ID, PW ๊ทธ ์ด๋ค ์ ๋ณด๋ ๋ค์ด๊ฐ์ ์๋๋ค.(์ํธํ ๋์์ด๋.) (๋ค์ด๊ฐ๋ฉด ์ถ์ธก์ด ๊ฐ๋ฅํด์ง.)
--> ์ธ์ ์ ๋ณด์ hash๊ฐ์ ๋ฃ์.
** hash ์ํธ : 1bit๋ง ๋ฌ๋ผ์ ธ๋ ๊ฐ์ด ๋ชจ๋ ๋ฌ๋ผ์ง.
ใ กใ กใ กใ กใ ก
์ฟ ํค / ์ธ์
- ์ฟ ํค๋ ์ฌ์ฉ์์ PC(๊ฐ PC)์ ์ ์ฅ๋๊ณ ,
- ์ธ์ ์ ์๋ฒ์ ์ ์ฅ๋๋ค.
- ์ฟ ํค์ ๊ฒฝ์ฐ, ์ต๊ทผ์๋ ๊ฐ PC์์ ๋ง์๋๋ก ๋ณ์กฐํ ์ ์์ด์ ์ ์ฐ์ง ์๋๋ค.
- ์ฟ ํค๋ฅผ ์ฐ๋ ์ฌ์ดํธ => ์์ธํ ์ฌ์ดํธ => (์ฅ๋ฐ๊ตฌ๋ ์ ๋ณด๋ฅผ ์ํธํํ์ฌ ์ฟ ํค์ ์ ์ฅํด๋๋ค.)
๋๊ธ