DOM XSS : LAB [5]
DATE : 2024/1/10
โDOM XSS in document.write sink using source location.search inside a select element
์ด๋ฒ LAB์ ์ํ ์ฌ๊ณ ๋ฅผ ํ์ธํ๋ ๊ธฐ๋ฅ์ XSS ์ทจ์ฝ์ ์ด ์กด์ฌํ๋ค๊ณ ํ๋ค.
LAB์ ์ ์ํด ๋ง์์ ๋๋ ์ํ์ ํ๋ ๊ณจ๋ผ์ค๋ค!
์ํ์ ์์ธ ํ์ด์ง๋ก ์ด๋ํ๋ฉด ์์ ๊ฐ์ด ์ด๋ฏธ์ง, ์ํ ์ค๋ช ๊ณผ ํจ๊ป ์ฌ๊ณ ๊ฒ์ ๊ธฐ๋ฅ์ ํ์ธํ ์ ์๋ค.
์ฌ๋ฌ ์ต์ ์ค ํ ๊ฐ์ง๋ฅผ ์ ํํ ์ ์๋ Form์ธ ๊ฑธ ๋ณด๋ฉด
<select> & <option> tag๋ก ๊ตฌํ๋์์์ ์์ธกํ ์ ์์ ๊ฒ์ด๋ค.
์ต์ ์ค ํ ๊ฐ์ง๋ฅผ ์ ํํด Check stock ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ํ์ด ์ผ๋ง๋ ๋จ์๋์ง ์ ์ ์๋ค.
LAB ์ค๋ช ์์ ์ด๋ฏธ ๊ฒ์ ๊ธฐ๋ฅ์ XSS ์ทจ์ฝ์ ์ด ์๋ค๊ณ ์๋ ค์คฌ๊ธฐ ๋๋ฌธ์
์ด ๋ถ๋ถ์ด ์ด๋ป๊ฒ ๊ตฌํ๋์ด ์๋ ์ง ํ์ธํด๋ด์ผ ํ๋ค.
์์ธ ํ์ด์ง์ Response๋ฅผ ์ดํด๋ณด๋ฉด ์ด์ ๊ฐ์ ์ฝ๋๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ ๊ฒ์ด๋ค.
์ฝ๋ ๋ด์ฉ์ ๊ฐ๋จํ๊ฒ ์ฌ์ฉ์๊ฐ ์ ํํ storeId๋ฅผ store ๋ณ์๊ฐ ํ ๋นํ๊ณ ๐ก
๋ณ์ store์ ํด๋นํ๋ <option> tag๋ ์ ํ๋์์์ ๋ํ๋ด๋ selected ์์ฑ์ ๋ถ์ฌํ๋ค.
๋๋จธ์ง ์ต์ ์ผ๋ก๋ ๊ทธ๋ฅ <option> tag๋ฅผ ์์ฑํ๋ ์ฝ๋์ด๋ค.
์ด๋ store ๋ณ์๋ฅผ ํ ๋นํ๋ ์ฝ๋๋ฅผ ์์ธํ ๋ณด๋ฉด
URL์ ๋ค์ด์๋ storeId parameter ๊ฐ์ ๊ฐ์ ธ์ค๋ ๊ฑธ ์ ์ ์๋ค.
๊ทผ๋ฐ LAB์์๋ ์ฌ์ค ์์ธ ํ์ด์ง๋ก ์ด๋ํ ๋ storeId๊ฐ URL์ ํฌํจ๋์ด์์ง ์์ ๋ฟ๋๋ฌ
๊ฒ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด POST method๋ก productId & storeId๊ฐ ์ ๋ฌ๋๊ธฐ ๋๋ฌธ์ ์กฐ๊ธ ํท๊ฐ๋ฆด ์ ์๋ค.
ํ์ง๋ง! ์ฝ๋ ์์์ Get method๋ก ์ ๋ฌ๋๋ parameter๋ฅผ ๊ฐ์ ธ์ค๊ณ ์๊ธฐ ๋๋ฌธ์
URL ๋ฐ์ storeId๋ฅผ ์ถ๊ฐํด ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค.
storeId parameter๋ก ์ ๋ฌ๋ ๊ฐ์ด ์ฝ๋ ์์์ ์ฌ์ฉ๋๋ ์์น๋ ์ฌ๊ธฐ!
๋ฐ๋ก ์คํฌ๋ฆฝํธ๋ง ๋ฃ์ด๋ ๋๊ฒ ์ง๋ง ์ฝ๋๋ฅผ ์์๊ฒ ๋ง๋ค์ด์ฃผ๊ธฐ ์ํด
์์ฑ๋์ด์๋ <option> tag๋ ๋ง๋ฌด๋ฆฌํด์ฃผ๊ธฐ๋ก ํ๋ค.
<option> tag๋ ๋ง๋ฌด๋ฆฌ ํด์ฃผ๊ณ ์คํฌ๋ฆฝํธ ์ฝ์ ํ ๋๋จธ์ง ๋ด์ฉ์ ์ฃผ์ ์ฒ๋ฆฌํ๋ค.
URL์ storeId parameter๋ฅผ ์ถ๊ฐํด ์คํฌ๋ฆฝํธ๋ฅผ ์ ๋ฌํ๋ฉด
์์ ๊ฐ์ด ์ฑ๊ณต์ ์ผ๋ก ํ์ ์ฐฝ์ด ๋ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์์ ๊ฒ์ด๋ค. ๐
Last updated