๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

์ทจ์•ฝ์  ๋ถ„์„ ๊ธฐ์ค€/WEB11

10. ์•…์„ฑ ์ฝ˜ํ…์ธ  ์ทจ์•ฝ์  ์†Œ๊ฐœ์•…์˜์ ์ธ ์ฝ˜ํ…์ธ ๊ฐ€ ์ž…๋ ฅ๋˜๊ฑฐ๋‚˜ ์‹คํ–‰๋˜๋Š” ์ทจ์•ฝ์  (๊ด€๋ จ ์ทจ์•ฝ์ )→ XSS→ ํŒŒ์ผ ์—…๋กœ๋“œ ํŒ๋‹จ ๊ธฐ์ค€์•…์˜์  ์ฝ˜ํ…์ธ ๊ฐ€ ์ž…๋ ฅ๋˜๋ฉฐ, ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ ** ํŒŒ์ผ ์—…๋กœ๋“œ ์ทจ์•ฝ์ ๊ณผ ์ฐจ์ด ** - Server Side Script ์ฝ”๋“œ๊ฐ€ ์—…๋กœ๋“œ ๋˜์–ด ์‹คํ–‰๋  ๊ฒฝ์šฐ (ํŒŒ์ผ ์—…๋กœ๋“œ)- HTML ํŒŒ์ผ, exe ์‹คํ–‰ ํŒŒ์ผ, avi ๋™์˜์ƒ ํŒŒ์ผ, ... ์‹คํ–‰๋  ๊ฒฝ์šฐ (์•…์„ฑ ์ฝ˜ํ…์ธ ): HTML ํŒŒ์ผ์ด ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋  ๊ฒฝ์šฐ ์Šคํฌ๋ฆฝํŠธ ๊ตฌ๋ฌธ์„ ์ด์šฉํ•ด XSS ์ทจ์•ฝ์  ์ด์šฉํ•  ์ˆ˜ ์žˆ์Œ ์ ๊ฒ€ ์‚ฌ๋ก€- ์ฝ˜ํ…์ธ  ์‚ฝ์ž… ๋ฐ ํŒŒ์ผ ์—…๋กœ๋“œ ์ œํ•œ ํ•„ํ„ฐ๋ง ์ ์šฉ ์—ฌ๋ถ€ ์ ๊ฒ€- ๊ฒŒ์‹œํŒ ๋“ฑ์˜ ํŽ˜์ด์ง€์—์„œ ๊ฐ•์ œ์ ์œผ๋กœ ์ด๋ค„์ง€๋Š” ์•…์˜์ ์ธ ํ”„๋กœ๊ทธ๋žจ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์ฝ˜ํ…์ธ  ์ž๋™ ์‹คํ–‰์ด๋‚˜ ์•…์˜์ ์ธ ์‚ฌ์ดํŠธ๋กœ์˜ ์ด๋™์ด ์žˆ๋Š”์ง€ ํ™•์ธ ๋Œ€์‘ ๋ฐฉ์•ˆ- ์•…์„ฑ ์ฝ˜ํ…์ธ ๊ฐ€ ์‚ฝ์ž…๋˜์–ด์žˆ๋Š” ํŽ˜์ด์ง€์— ๋Œ€ํ•œ .. 2024. 5. 13.
09. ์ •๋ณด ๋ˆ„์ถœ ์ทจ์•ฝ์  ์†Œ๊ฐœ์›น ์‚ฌ์ดํŠธ์˜ ๋ฐ์ดํ„ฐ(์ค‘์š”์ •๋ณด)๊ฐ€ ๋…ธ์ถœ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐœ๋ฐœ ๊ณผ์ •์˜ ์ฝ”๋ฉ˜ํŠธ๋‚˜, ์ค‘์š” ๊ฐœ์ธ ๋ฐ ๊ธˆ์œต-๊ณ„์ • ์ •๋ณด, ์›น ์„œ๋ฒ„ ์ •๋ณด, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ์ •๋ณด, DB ์ •๋ณด, ...๊ฐ€ ๋…ธ์ถœ๋  ๊ฒฝ์šฐ ๊ณต๊ฒฉ์ž๋“ค์˜ 2์ฐจ ๊ณต๊ฒฉ์„ ์œ„ํ•œ ์ฃผ์š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์  ํŒ๋‹จ ๊ธฐ์ค€์›น ์‚ฌ์ดํŠธ ์ค‘์š”์ •๋ณด๋“ค์ด ๋…ธ์ถœ๋˜๋Š” ๊ฒฝ์šฐ ์ ๊ฒ€ ์‚ฌ๋ก€- ์›น ์‚ฌ์ดํŠธ์— ์ค‘์š”์ •๋ณด๊ฐ€ ํ‰๋ฌธ์œผ๋กœ ๋…ธ์ถœ๋˜๋Š”๊ฐ€ ํ™•์ธ- ์›น ํŽ˜์ด์ง€์— ๋งˆ์Šคํ‚น ๋œ ์ค‘์š”์ •๋ณด๊ฐ€ ์›น ํŽ˜์ด์ง€ ์†Œ์Šค์— ํ‰๋ฌธ์œผ๋กœ ๋…ธ์ถœ๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ ex) HTML ์†Œ์Šค์— ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฒฝ์šฐ   ex) JavaScript ๋ณ€์ˆ˜์— ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๊ฒฝ์šฐ var apiKey = " 853j2k1j23hjkffd9834jk..." var databasePassword = "mySQL+p@..."  ex) JavaScript .. 2024. 5. 12.
08. ๋””๋ ‰ํ„ฐ๋ฆฌ ์ธ๋ฑ์‹ฑ ์ทจ์•ฝ์  ์†Œ๊ฐœ์›น ์„œ๋น„์Šค ์ดˆ๊ธฐ ํŽ˜์ด์ง€(index.html, home.html, default.asp, ...)์˜ ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์„œ๋ฒ„ ์ƒ์˜ ์„ค์ • ๋ฏธํก์œผ๋กœ ์›น ์„œ๋ฒ„ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜๋Š” ์ทจ์•ฝ์ . ํŒ๋‹จ ๊ธฐ์ค€๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์›น ์ƒ์— ์ถœ๋ ฅ(๋…ธ์ถœ)๋˜๋Š” ๊ฒฝ์šฐ ์ ๊ฒ€ ์‚ฌ๋ก€- URL ๊ฒฝ๋กœ ์ค‘ ํ™•์ธํ•˜๊ณ ์ž ํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊นŒ์ง€๋งŒ ์ฃผ์†Œ์ฐฝ ์ž…๋ ฅํ•˜์—ฌ ์ธ๋ฑ์‹ฑ ์—ฌ๋ถ€ ํ™•์ธ- ๋””๋ ‰ํ„ฐ๋ฆฌ ๋์— %3f.jsp ๋ฌธ์ž์—ด์„ ๋ถ™์—ฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ธ๋ฑ์‹ฑ์ด ๋˜๋Š”์ง€ ํ™•์ธ ํ”ผํ•ด ๊ฐ€๋Šฅ์„ฑ- ์†Œ์Šค์ฝ”๋“œ(Server Side Script) ๋…ธ์ถœ๋กœ ํŒŒ์ผ์ด ๊ณต๊ฐœ(DB์˜ ์ •๋ณด ํ™•์ธ ๊ฐ€๋Šฅ, ..., ์ค‘์š”์ •๋ณด)- ์ค‘์š”๋ฌธ์„œ(๋””๋ ‰ํ„ฐ๋ฆฌ ๋น„๋ฐ€๋ฌธ์„œ, ์„ค๊ณ„๋„, ๋ฐฑ์—… ํŒŒ์ผ, ...) ๊ณต๊ฐœ- ์›น ์„œ๋ฒ„์˜ ๋‹ค๋ฅธ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŒŒ์ผ ํ™•์ธ ๋ฐ ์ ‘๊ทผ ์‹œ๋„ ๊ฐ€๋Šฅ์„ฑ- ๋ถˆํ•„์š”ํ•œ ์ •๋ณด ๋…ธ.. 2024. 5. 12.
07. XPath ์ธ์ ์…˜ ์ทจ์•ฝ์  ์†Œ๊ฐœ์กฐ์ž‘๋œ XPath(XML Path Language) ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ƒ„์œผ๋กœ์จ ๋น„์ •์ƒ์  ๋ฐ์ดํ„ฐ๋ฅผ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ → XPath: XML ๋ฌธ์„œ๋‚˜ ํŠน์ • ์š”์†Œ-์†์„ฑ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ ์ง€์ • ์–ธ์–ด๋กœ XPath ๊ฒฝ๋กœ์‹์„ ์ด์šฉํ•˜์—ฌ ๋…ธ๋“œ ํ˜•์‹์œผ๋กœ ์ ‘๊ทผ→ XML ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ(XML ๋ฌธ์„œ ๊ฒ€์ƒ‰ํ•˜๋Š” ํ™˜๊ฒฝ), XML DB(XML ํ˜•์‹์œผ๋กœ ์ €์žฅ ๊ด€๋ฆฌํ•˜๋Š” ํ™˜๊ฒฝ), ...์—์„œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ํŒ๋‹จ ๊ธฐ์ค€XPath ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋˜์–ด ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋  ๊ฒฝ์šฐ ์ ๊ฒ€ ์‚ฌ๋ก€- ' and 'a' = 'a , ' and 'a' = 'b, ' and 1=1, ' and 1=2, ... ๊ฐ’ ์‚ฝ์ž…ํ•˜์—ฌ ์ฐธ, ๊ฑฐ์ง“์— ๋ฐ˜ํ™˜๋˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋‹ค๋ฅธ์ง€ ํ™•์ธ- ' or count(parent::*[position()=1])=0 or 'a'='b, ' or.. 2024. 5. 12.
๋ฐ˜์‘ํ˜•