DOM XSS : LAB [7]
DATE : 2024/1/10
โReflected DOM XSS
์ฌ๋ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก LAB์ ๋ค์ด์ ๋ณด๋ฉด ํ์ด์ง ์ค์์ ๊ฒ์ ๋ฐ๊ฐ ๋์ฌ ์๋ค.
๊ฒ์ํ ๋ด์ฉ์ ์ ๋ ฅํ๊ณ ENTER๋ฅผ ๋๋ฅด๋ฉด ์์ ๊ฐ์ด
search parameter์ ๊ฒฐ๊ณผ ๋ฌธ๊ตฌ์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฒ์ ๋ด์ฉ์ด ๋ค์ด๊ฐ ์๋ ๊ฑธ ๋ณผ ์ ์๋ค.
์ด๊ฒ ์ด๋ป๊ฒ ๊ตฌํ๋์ด ์๋ ์ง ํ์ธํด๋ณด๊ธฐ ์ํด packet์ ์ด์ด๋ดค๋๋
search('search-results')๋ผ๋ ๊ฐ๋จ๋ช ๋ฃํ ์ฝ๋๊ฐ ์ ํ์ ธ ์์๋ค.
search-results์ ๋ํ ์ ๋ณด๋ ๋ ๋ค๋ฅธ packet์์ ํ์ธํ ์ ์๋ค.
์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ด์ฉ์ search parameter๋ก ์ ๋ฌํ๋ฉด ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ json object ํํ๋ก ๋๊ฒจ์ค๋ค.
๋ค๋ฅธ ํค์๋๋ ์ ๋ ฅํด๋ณด๋ results ๋ด์ฉ์ด ์๊ธด ๊ฑธ ๋ณผ ์ ์๋๋ฐ ์ด๋ฅผ ํตํด ์ฐ๋ฆฌ๋
results๋ ๊ฒ์ ๊ฒฐ๊ณผ ๋์จ ๊ฒ์๋ฌผ ์ ๋ณด์ด๊ณ ,
searchTerm์ search parameter๋ก ์ ๋ฌ๋ ์ฌ์ฉ์ ์ ๋ ฅ ๊ฐ์์ ๋์น์ฑ ์ ์๋ค.
๊ทธ๋ผ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ๋์ฒด ๋ฌด์์ ํ๋๋!?
ํจ์ search()๋ฅผ ์ฐพ์๋ณด๋ ์์ ๊ฐ์ด eval์ ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ๋ค..!
searchResultsObj๋ฅผ ์์ฑ & ํ ๋นํ๊ณ ํธ์ถํ๋ ๊ฑฐ ๊น์ง ์ดํด๋ณด๋
searchResultsObj๋ ์์์ ๋ดค๋ search-results ๊ฒฐ๊ณผ์ธ json object์ด๊ณ
๊ทธ ์์ ๋ค์ด์๋ results & searchTerm์ ๊ฐ๊ฐ ๋ณ์์ ํ ๋นํด ๊ฒฐ๊ณผ ๋ฌธ๊ตฌ๋ฅผ ๋ง๋ค๊ณ ์์๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ์ด ์ด๋ ์์น์ ๋ค์ด๊ฐ๋ ์ง ํ์ ์ด ๊ฐ๋ฅํ๋ค.
์ต์ข ์ ์ผ๋ก searchTerm์ ์ฌ์ฉํ๋ ๊ณณ์
h1 innerHTML ๊ฐ์ ๋ฃ๋ ์์น๋ก innerHTML์ alert()๋ฅผ ์คํํ ์ ์๋ ํํ๋ก ์คํฌ๋ฆฝํธ๋ฅผ ๋ฃ์ด์ผ ํ๋ค.
searchTerm์ json object๋ฅผ ํตํด ์ ๋ฌ๋๊ธฐ ๋๋ฌธ์
์ ๋ค์ ์์ฑ๋ ๋ด์ฉ์ ๊ณ ๋ คํ์ฌ INPUT๊ณผ ๊ฐ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํด์ผ ํ๋ค.
์ด๋ ๊ฒ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ๊ฒ ๋๋ฉด innerHTML๋ฅผ ์์ฑํ๋ ์์น์์๋
๊ฒ์ ๊ฒฐ๊ณผ ๋ฌธ๊ตฌ๋ฅผ ๋ง๋ ํ alert(1)๊ฐ ์คํ๋๋ ๊ตฌ์กฐ๊ฐ ๋๊ธฐ ๋๋ฌธ์
ํ์ ์ฐฝ์ด ๋ฌ ๋ค์์
๊ฒฐ๊ณผ ํ๋ฉด์ด ๋ณด์ด๋ ์์ผ๋ก ์ฒ๋ฆฌ๋๋ ๊ฑธ ํ์ธํ ์ ์์ ๊ฒ์ด๋ค.
์์์ ์ฝ์ ํ ์คํฌ๋ฆฝํธ๊ฐ ์ ์ดํด๋์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋จํ ์์๋ฅผ ๋ณด์ฌ์ฃผ์๋ฉด
- ๋ฌธ์๋ ์์ ์์ฑ๋ ๋ด์ฉ๊ณผ ๋ค์ ์์ฑ๋ ๋ด์ฉ์ ๋ถ๋ฆฌํ๊ธฐ ์ํ ์ฐ์ฐ์๋ก
๊ฒฐ๊ณผ์ ์ผ๋ก innerHTML์ ๋ค์ด๊ฐ๋ ๊ฐ์ ์๋์ ๊ฐ๊ณ
์ด ํ์ด์ง์ ์ ์ํด๋ณด๋ฉด
ํ์ ์ฐฝ์ด ๋จผ์ ๋ฌ ๋ค์
<h1> tag๊ฐ ๋์ค๋ ๊ฑธ ๋ณผ ์ ์๋ค.
-alert(1) ์์ ์ด๋ค ๋ด์ฉ์ ์์ฑํ๋ searchTerm์ NaN์ผ๋ก ์ถ๋ ฅ์ด ๋๋๋ฐ
์๋ง๋ ๊ธฐ๋ฅ ์์ผ๋ก ๋ถ๋ฆฌ๋์ง๋ง -alert(1)๋ฅผ ๋ถ์๊ธฐ ๋๋ฌธ์ธ ๋ฏํ๋ค.
์ด์ฐ ๋๋ ์ด์ ์ ๋์ค์ง ์์๋ innerHTML์ด๋ผ๋ ์์ฑ์ด ์๋ก ๋ฑ์ฅํ๋ค..!
document.write์ ๋๋ถ์ด DOM XSS์์ ๋ํ์ ์ผ๋ก ํ์ฉ๋๋ ์ทจ์ฝํ ์ฝ๋์์ ์๊ณ ๋์ด๊ฐ์!
Last updated