DOM XSS : LAB [4]
DATE : 2024/1/9
โDOM XSS in jQuery selector sink using a hashchange event
์ด๋ฒ LAB์ hash์ ๊ด๋ จ๋ ๋ฌธ์ ๋ก ์ฌ๊ธฐ์ ๋งํ๋ hash๋ ๋ฌธ์ #๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
URL ๋ฐ์์ ์ฌ์ฉ๋๋ #๋ ํ ํ์ด์ง ๋ด์์ ์ ์ฒด ํ์ดํ์ด๋ ๋ฌธ๋จ ์ ๋ชฉ๊ณผ ๊ฐ์ด
ํด๋ฆญํ์ ๊ฒฝ์ฐ, ํด๋น ์ฝํ ์ธ ๊ฐ ์ ๊ณต๋๋ ์์น๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ ์ฌ์ฉ๋๋ค.
LAB์์๋ #2๋ฅผ ์ ๋ ฅํ๋ฉด ์ ๋ชฉ์ 2๊ฐ ๋ค์ด๊ฐ ๊ฒ์๋ฌผ ์ค ์ ์ผ ์ฒซ ๋ฒ์งธ ๊ฒ์๋ฌผ์ ์ฐพ์
ํด๋น ์์น๋ก ํ๋ฉด์ ์ด๋ ์์ผ์ค๋ค.
๋ง์ฝ ๋๋ฌธ์ O๋ฅผ ์ ๋ ฅํ๋ค๋ฉด ์์ ์ฌ์ง๊ณผ ๊ฐ์ด #๋ก ์์ฑํ ๊ฐ์ด
์ ๋ชฉ์ ํฌํจ๋ ๊ฒ์๋ฌผ ์ค ์ ์ผ ์ฒซ ๋ฒ์งธ์ ํด๋นํ๋ ๊ฒ์๋ฌผ ์์น๋ก ์ด๋ํ ๊ฑธ ๋ณผ ์ ์๋ค.
์ด์ฒ๋ผ hash๋ฅผ ์ด์ฉํด ํ์ด์ง์ ํน์ ์์น๋ก ์ด๋ํ ์ ์๋ ๊ธฐ๋ฅ์ LAB์์๋ ์ด๋ป๊ฒ ๊ตฌํํด๋๋์ง
์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด
section.blog-list h2 element ์ค contains์ ํด๋นํ๋ element๋ฅผ ์ฐพ์
์ด๋ํ๋ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํด๋ ๊ฑธ ๋ณผ ์ ์๋ค.
์ด๋ section.blog-list h2๋ CSS์์ HTML์ ์์ฑ๋ element๋ฅผ ๊พธ๋ฏธ๊ธฐ ์ํด
์คํ์ผ์ ์ ํ element๋ฅผ ๊ฐ๋ฆฌํฌ ๋ ๋ฑ์ฅํ๋ ์ ํ์๋ก
์ฝ๋์ ์์ฑ๋ผ ์๋ ์ ํ์๋
blog-list class์ธ section tag ์์ ์๋ h2 tag๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
Packet์ ์ดํด๋ณด๋ฉด ์๊ฒ ์ง๋ง "blog-list class์ธ section tag ์์ ์๋ h2 tag"๋
๊ฐ ๊ฒ์๋ฌผ์ ์ ๋ชฉ์ ๋ํ๋ด๋ ํ๊ทธ์ด๋ค.
๋ฐ๋ผ์ ์์ #์ ์์๋๋ก ๊ฐ์ ์ ๋ ฅํ์ ๋, ๊ฒ์๋ฌผ ์ ๋ชฉ์ ๊ธฐ์ค์ผ๋ก ํ์ด์ง๊ฐ ์ด๋ํ๋ ๊ฒ!
์ด์ ์ฝ๋๋ฅผ ์ ๋ฐ์ ์ผ๋ก ํ์ ํ์ผ๋ ์ด๋ฅผ ํ์ฉํด print() ํจ์๋ฅผ ์คํ์์ผ๋ณด์.
#์ ์ด์ฉํด ์์์ ๋ด์ฉ์ ์ ๋ฌํ๊ฒ ๋๋ฉด ๊ทธ ๊ฐ์ __INPUT__ ์๋ฆฌ์ ๋ค์ด๊ฐ๊ฒ ๋๋ค.
์ด๋ฅผ ๊ณ ๋ คํด ์๋์ ๊ฐ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ฒ ๋๋ฉด
์ด๋ค ์ผ์ด ๋ฒ์ด์ง์ง ๊ณ ๋ฏผํด๋ณด์. ๐ค
๊ณต๊ฒฉ์ ์๋ฒ์์ Body์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ฃ๊ณ ์ ์ฅํด์ค๋ค.
์ด๋ฅผ ์์ฒญํ๊ฒ ๋๋ฉด iframe์ ๋ง๋ค๊ธฐ ์ํด src์ ์ ํ LAB ์ฃผ์๋ก ์์ฒญ์ ๋ณด๋ด๊ฒ ๋๋๋ฐ
์ด๋ ์๋ฌ๋ฅผ ๋ฐ์ ์ํฌ img ํ๊ทธ๊ฐ ๋ฐ๋ผ ๋ถ์ผ๋ฉด์ print()๋ฅผ ์คํํ๊ฒ ๋๋ค.
(<img> tag๊ฐ src=1์ด๋ฉด ์๋ชป๋ ๊ฒฝ๋ก์ด๊ธฐ ๋๋ฌธ์์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋จ)
์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฅํ ํ, Deliver exploit to victim์ ํด๋ฆญํ๋ฉด
์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์์๋ ์์ ๊ฐ์ด print ์ฐฝ์ด ์ถ๋ ฅ ๋๋ฉด์
์ฌ์ฉ์์ ์๋์๋ ์๊ด ์์ด ๊ณต๊ฒฉ์๊ฐ ์ฝ์ ํ ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋จ์ ์ ์ ์๋ค.
์ด๋ก์จ ์ด๋ฒ ๋ฌธ์ ๋ ํด๊ฒฐ! ๐ค
LAB ์ฌ์ดํธ์ ์ง์ ์ ์ผ๋ก ๊ณต๊ฒฉํ๋ ๋๋๋ณด๋ค๋ ๊ฐ์ ์ ์ผ๋ก ์ทจ์ฝ์ ์ด ์กด์ฌํ๋ ์ฌ์ดํธ๋ฅผ
ํ์ฉํ๋ค๋ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฑธ ์ป์ด๊ฐ๋ฉด ์ข์ ๊ฑฐ ๊ฐ๋ค!
Last updated