Stored XSS : LAB [3]
DATE : 2024/1/17
โExploiting XSS to perform CSRF
์ด๋ฒ์ ์ดํด๋ณผ LAB์ XSS & CSRF์ Collaboration์ด๋ค.
์ ๋ชฉ์ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด CSRF๋ฅผ ์ํํ๊ธฐ ์ํ XSS ๊ณต๊ฒฉ์ ์ํํ๋ ๊ฒ์ด ์ด๋ฒ LAB์ ๋ชฉํ!
์ต์ข ์ ์ผ๋ก ์ํํ๊ณ ์ ํ๋ ๊ฑด ๋ค๋ฅธ ์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์์ ํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ๋ ๊ฑด๋ฐ
์ด๋ฅผ ์ํด LAB์์๋ ์ฌ์ฉํ ๊ณ์ ์ ์ ๊ณตํด์ฃผ๊ณ ์๋ค.
My account ํ์ด์ง์์ wiener:peter๋ก ๋ก๊ทธ์ธํ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ ๋ณผ ์ ์์ ๊ฒ์ด๋ค.
์ฌ์ฉ์์ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์์ ํ ์์ฒญ์ด ์ด๋ป๊ฒ ์๊ฒผ๋์ง ์๊ธฐ ์ํด์
์ง์ ์ด๋ฉ์ผ์ ์ ๋ฐ์ดํธ ํด๋ณด๋ ๊ฒ ์ ์ผ ์ฌ์ด ๋ฐฉ๋ฒ์ด๋ค.
๋ฐ๊ฟ ์ด๋ฉ์ผ ์ฃผ์๋ฅผ ์ ๋ ฅํ ๋ค, packet์ ํ์ธํด๋ณด๋
์ด๋ฉ์ผ ์ฃผ์๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด ์๋ฒ์๊ฒ ๋ณด๋ธ ์์ฒญ์ POST method์ด๋ฉฐ
email & csrf parameter๊ฐ body๋ก ์ ๋ฌ๋๊ณ ์์์ ํ์ ํ ์ ์๋ค.
์ด csrf ๊ฐ์ด ์ด๋์์ ์๋ ํ์ธํด๋ดค๋๋ ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ My account์
hidden ์ฒ๋ฆฌ๋ <input> tag์ ๋ค์ด ์์๋ค.
์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ์์ ์ต์ข ์ ์ผ๋ก ์ด๋ฉ์ผ์ ์์ ํ๋๋ก ํ๋ ค๋ฉด ์ฌ์ฉ์์ csrf ๊ฐ์ด ํ์ํ๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ csrf ๊ฐ์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฒฝ๋ก๋ฅผ ํ์ ํ ํ์๊ฐ ์๋ค.
๊ฒฝ๋ก๋ฅผ ํ์ ํ๊ธฐ ์ ์! ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ ํฌ์ธํธ๋ถํฐ ํ์ธํด๋ณด๋ฉด
๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ๋๊ธ ๋ณธ๋ฌธ์ ์์ ๊ฐ์ด ์ ๋ ฅํ์ ๊ฒฝ์ฐ,
์คํฌ๋ฆฝํธ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์์ ๊ฒ์ด๋ค. ์ด๋ ๋๊ธ ๋ณธ๋ฌธ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ ์ ์์์ ์๋ฏธํ๋ค.
์ด๋ฒ์ ๊ฒ์๋ฌผ ๋๊ธ์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด console ์ฐฝ์ csrf ๊ฐ์ ๋์๋ณด๋ ค๊ณ ํ๋ค.
์์ ์ csrf ๊ฐ์ ์์ ์ ๋ธ๋ผ์ฐ์ ์ ๋์ฐ๋ ๊ฑด ์๋ฏธ๊ฐ ์์ง๋ง,
์ด๋ฅผ ์ํํ๋ ๊ฑด csrf์ ์ ๊ทผํ๊ธฐ ์ํ JS ์ ๊ฒฝ๋ก๋ฅผ ํ์ ํ๊ธฐ ์ํจ์ด๋ค.
์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฅํ ๋ค, ํด๋น ๋ธ๋ก๊ทธ๋ก ๋ค์ ์ ๊ทผํ๊ฒ ๋๋ฉด
์ ์ฅ๋ ๋๊ธ๋ ํจ๊ป ๋ธ๋ผ์ฐ์ ๋ก ์ ๋ฌ ๋๋ ๊ณผ์ ์์ ์คํฌ๋ฆฝํธ๋ ํจ๊ป ์ค๋ฉด์
console ์ฐฝ์ ์ถ๋ ฅ๋ csrf ๊ฐ์ ํ์ธํ ์ ์์ ๊ฒ์ด๋ค.
์ด์ csrf ๊ฒฝ๋ก๋ ํ์ธํ๊ฒ ๋ค ๊ณต๊ฒฉ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด ๋๊ธ ์ฐฝ์ ์ ๋ ฅํ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
ํ๋์ ์คํฌ๋ฆฝํธ ์์๋ฅผ ๋ค์๋ฉด ์์ค ๊ฐ์ด fetch API๋ฅผ ํ์ฉํด ์์ฑํด๋ณผ ์ ์์ ๊ฒ์ด๋ค.
POST method๋ก ์์ ํ๊ณ ์ ํ๋ ์ด๋ฉ์ผ ๊ฐ๊ณผ csrf๊ฐ์ ์๋ฒ๋ก ๋ณด๋ด๋ฉด
์๋ฒ๋ csrf ๊ฐ์ ํ์ธํ ํ, email์ ๋ด๊ธด ๊ฐ์ผ๋ก ์์ฒญ์ ๋ณด๋ธ ์ฌ์ฉ์์ ์ด๋ฉ์ผ์ ์์ ํด์ค ๊ฒ์ด๋ค.
(์ค์ ๋ก ์ฌ์ฉํ ์คํฌ๋ฆฝํธ๋ XMLHttpRequest๋ฅผ ์ฌ์ฉํ์)
๋๊ธ์ ์ ๋ก๋ ํ ํ ์กฐ๊ธ๋ง ์ง๋๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ํด๋น ๊ฒ์๋ฌผ์ ์ ์ํ๋ฉด์
์คํฌ๋ฆฝํธ๊ฐ ์คํ๋ผ ์๋์ ๊ฐ์ด LAB์ด ํด๊ฒฐ๋์๋ค๋ ํค๋๋ฅผ ๋ณผ ์ ์์ ๊ฒ์ด๋ค. ๐
Last updated