[Bee-box] ๊ธฐํ ์ธ์ ์ ๊ณต๊ฒฉ- iframe
- -
HTML injection-Stored(Blog)๋ฐฉ์์ ์ด์ด์,
์ค๋์ ์ธ์ ์ ๊ธฐ๋ฒ ์ค iframe ์ธ์ ์ ์ ์ค์ตํด๋ณผ๊ฒ์
์ค์ตํ๋ ๋ชจ๋ ๊ณต๊ฒฉ์ ์ค์ ๋ก ์ฌ์ฉํ์๋ฉด ์๋ฉ๋๋ค.
ํ์ฉ๋ฐ์ง ์์ ์๋น์ค ๋์์ ํดํน์ ์๋ํ๋ ํ๋์ ๊ธ์งํ๋ฉฐ,
๋ชจ๋ ๋ฒ์ ์ฑ ์์ ์ฌ์ฉ์์๊ฒ ์๋ ๊ฒ์ ๋ช ์ฌํด์ฃผ์ธ์
๋์ด๋ ํ
iframe์ HTML ๋ฌธ์ ์์์ ๋ ๋ค๋ฅธ HTML ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ ํ๊ทธ๋ก,
์ด๋ ์์น๋ ์๊ด์์ด ์ธ์ ์ ๊ณต๊ฒฉ์ ํ ์ ์์ต๋๋ค.
๋ํ ๋ ๋ฆฝ์ ์ผ๋ก ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์ HTML ์ธ์ ์ ์ค์์๋ ๊ณต๊ฒฉ์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
ํ์ด์ง ๋ด์ iframe ํ๊ทธ๋ฅผ ์ฃผ์ ํ๋ค. --> ์ฃผ๋ก ์ ์ฑ URL์ ์ฝ์ ํ ์ฌ์ด์ฆ๋ฅผ 0์ผ๋ก ์ค์ ํ์ฌ ์จ๊ธด๋ค.
--> ์ฌ์ฉ์์๊ฒ ์๋์น ์๊ฒ ์ ์ฑ์ฌ์ดํธ๋ก ์ ์ํ๊ฒ๋ ํ๊ฑฐ๋, ๊ฒฝ๊ณ ์ฐฝ์ ๋์ธ ์ ์๋ค.
๋จผ์ low๋จ๊ณ๋ก 'iframei.php' ํ์ด์ง๋ก ๋ค์ด๊ฐ๋๋ค.
'iframei.php' ํ์ด์ง๋ GET ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ก๋ฐ์ผ๋ฏ๋ก URL์ ๋ณ์๊ฐ ๋ ธ์ถ๋ฉ๋๋ค.
๋ณ์๋ฅผ ํ์ธํด๋ณด๋ฉด 'ParamUrl', 'ParamWidth', 'ParamHeight' ์ด ์ธ๊ฐ์ง๊ฐ ์์ต๋๋ค.
ParamUrl -> ์ฐ๊ฒฐํ ์ฃผ์ ๋ฐ์์ค๊ธฐ.
ParamWidth, ParamHeight -> ๋ด์ฉ์ ์ถ๋ ฅํ ํฌ๊ธฐ ์ง์ ํ๊ธฐ.
๊ฐ๋ฐ์ ๋๊ตฌ๋ก ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด
iframe ํ๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ 'robots.txt' ๋ผ๋ ํ์ผ์ ๋ด์ฉ์ ํ์ธํด์ฃผ๋ค์.
์๊น ์์ URL์์ ํ์ธ ํด๋ณด๋ฉด, ParamUrl ๋ณ์์๊ฐ์ robot.txt์ ๋๋ค.
์ด ๋ณ์์ ์ ๋ ฅํ ๋ด์ฉ์ด iframe ํ๊ทธ์ ์ถ๊ฐ๋์ด ๊ธฐ์กด iframe ํ๊ทธ๋ฅผ ๊ฐ์ ๋ก ๋ซ๊ณ URL์ ๋ ธ์ถ๋ ๋ณ์์ ์ ์์ ์ธ
iframe ํ๊ทธ๋ฅผ ์ฃผ์ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
- HTML ํ์ด์ง ์์ฑํ๊ธฐ -
๋จผ์ ์ฌ์ฉ์๊ฐ ๋ชจ๋ฅด๊ฒ ์ ์์ ์ธ ํ์ด์ง๋ฅผ ์ถ๋ ฅํ๋ ๊ณต๊ฒฉ์ ํ๋ ค๋ฉด HTML ํ์ด์ง๊ฐ ํ์ํฉ๋๋ค.
vmware > bee-box ์์ ํฐ๋ฏธ๋์ ํตํ์ฌ, ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด์ ํ์ด์ง๋ฅผ ์์ฑํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
> ํฐ๋ฏธ๋์ ์คํ ํ ๋น๋ฐ์ค์์ ์ง์ ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ํฐ๋ฆฌ ์์น๋ก ์ด๋ํด์ค๋๋ค.
* cd -> change Directory
> vi ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ 'bad.html' ์ด๋ผ๋ ํ์ผ์ ์์ฑํด์ค๋๋ค.
(์ ๋ ๋จผ์ sudo su ๋ช ๋ น์ด๋ฅผ ํตํด ๋ฃจํธ๊ถํ์ ๋น๋ ธ์ง๋ง, ๊ทธ๋ ์ง ์์ผ์ ๋ถ์ sudo vi bad.html ์ ์ ๋ ฅํด์ฃผ์ธ์.)
์์ ๊ฐ์ด ํ์ผ ์์ฑ ํ ๋ด์ฉ์ ์ ๋ ฅํด์ฃผ์๊ณ ,
"Esc -> Shift + : " ๋ฅผ ๋๋ฅธ ํ " wq! " ๋ฅผ ์ ๋ ฅํ์ฌ ๋ด์ฉ์ ์ ์ฅํด์ค๋๋ค.
์ ๋๋ก ์ ์ฅ์ด ๋์๋์ง ํ์ธํด์ค๋๋ค.
์ด๋ ๊ฒ! HTML ํ์ด์ง๋ฅผ ๋ง๋ค๊ณ ๋๋ฉด ๋ค์ iframei.php ํ์ด์ง๋ก ์ด๋ํ์ฌ, URL์ ์ ์์ ์ธ ํ์ด์ง๋ฅผ ํธ์ถํด๋ด ์๋ค.
๋จผ์ ์๋ ๊ธฐ์กด์ URL ์ธ๋ฐ์, ์์ธํ ๋ณด๋ฉด
์ด๋ ๊ฒ ๋๋ค์.
์์ ํ URL๋ ์์ ํ์ํด ๋์๋๋ฐ์.
๊ธฐ์กด์ ParamUrl ๋ณ์์ ๊ฐ์ด ์๋ ํ์ด์ง์ iframe ํ๊ทธ์ ์ถ๊ฐ๋๊ธฐ ๋๋ฌธ์
"></iframe> ์ ์ ๋ ฅํ์ฌ ์๋ ํ์ด์ง์ iframe ํ๊ทธ๋ฅผ ๋ซ์์ฃผ๊ณ , bad.html ํ์ด์ง๋ฅผ src์์ฑ์ ์ ๋ ฅํด์ค๋๋ค.
์ด๋ ๊ฒ url์ ์ ๋ ฅํด ์ฃผ๊ณ ์ํฐ๋ฅผ ๋๋ฅด๋ฉด
ํ๋ฉด๊ณผ ๊ฐ์ด Succed ๋ผ๊ณ ๊ฒฝ๊ณ ์ฐฝ์ด ๋จ๊ฒ ๋ฉ๋๋ค. -> ๋จ๋ฉด ๊ณต๊ฒฉ ์ฑ๊ณต
ํ์ธ ๋ฒํผ์ ํด๋ฆญํ๋ฉด
robots.txt ๋ด์ฉ ์์ bad.html์ ์ ๋ ฅํ ํค๋ฉ ํ๊ทธ "<h1>" ๋ด์ฉ์ ์ถ๋ ฅํ๊ณ ๊ทธ์์๋ ์ ์ iframe ํ๊ทธ์ ๋ค์ด๊ฐ๋
๋์ด์ ๋์ด ์์ฑ์ ๋ฌธ์์ด๋ก ์ถ๋ ฅํฉ๋๋ค.
--> ์ด๋ ์ ์ iframeํ๊ทธ๋ฅผ ๊ฐ์ ๋ก ๋ซ์๊ธฐ ๋๋ฌธ์ ์์ฑ์ด ๋ ธ์ถ๋ ๊ฒ์ ๋๋ค.
--> ParamWidth ๋ณ์์ iframe ํ๊ทธ๋ฅผ ์ฃผ์ ํ๋ฉด ์ ์ iframe ํ๊ทธ์ ๊ฐ์ฅ ๋ง์ง๋ง์ด๊ธฐ ๋๋ฌธ์ "> ๋ง ์ถ๋ ฅํฉ๋๋ค.
๊ณต๊ฒฉ ์ฑ๊ณต ํ [F12] ๊ฐ๋ฐ์ ๋๊ตฌ๋ก ๋ค์ด๊ฐ์ ์์ค ์ฝ๋๋ฅผ ํ์ธํ๋ฉด
div id="main" ์ ์๋ ์๋ iframeํ๊ทธ๊ฐ ๋ซํ๊ณ ์ ์์ ์ผ๋ก ์ฃผ์ ํ iframeํ๊ทธ๊ฐ ์ถ๊ฐ๋ ๊ฒ์ ํ์ธ ํ ์ ์์ต๋๋ค.
์ฌ์ฉ์ ๋ชฐ๋ iframe ์ธ์ ์ ๊ณต๊ฒฉ์ ํ๊ธฐ ์ํด 'width'์์ฑ๊ณผ 'height' ์์ฑ์ 0์ผ๋ก ๋ณ๊ฒฝํด๋ณด๊ฒ ์ต๋๋ค.
์ด๋ ๊ฒ ์ฌ์ด์ฆ๋ฅผ 0์ผ๋ก ์ง์ ํ๊ณ ์คํ ์์ผ๋ณด๋ฉด
์๊น์ ๋์ผํ๊ฒ succeed๋ผ๋ ๊ฒฝ๊ณ ์ฐฝ์ ๊ทธ๋๋ก ์ถ๋ ฅ๋ฉ๋๋ค.
ํ์ง๋ง ์ด์ ๊ณผ ๋ค๋ฅด๊ฒ bad.html์ ์ ๋ ฅํ <h1> ํ๊ทธ ๋ด์ฉ์ด ์ถ๋ ฅ๋์ง ์๋ค์..!
์ด๋ ๊ฒ ์ ๋ ฅํ๋ ํค๋ฉํ๊ทธ๋ ์ถ๋ ฅ๋์ง ์์๋ค์.
--> ๋ฐ๋ผ์ ๊ณต๊ฒฉ์๋ iframe ์ธ์ ์ ์ผ๋ก ๊ฒฝ๊ณ ์ฐฝ์ ์ถ๋ ฅํ์ฌ ์๋ ์ฌ์ดํธ์์ ์ ์์ ์ธ ์๋ต์ ์ฃผ๋ ๊ฒ ์ฒ๋ผ ์ฌ์ฉ์๋ฅผ
์์ผ ์ ์์ต๋๋ค. (์์ ๋ด์ฉ์ ์จ๊ธฐ๊ณ , ๊ฒฝ๊ณ ์ฐฝ๋ง ์ถ๋ ฅ์ด ๋จ)
๊ทธ๋ฌ๋ ์ ํ๋ฉด๋ง ๋ณด๋ฉด, iframe ์ฌ์ด์ฆ๊ฐ ์ด์ํ๋ค๋ ๊ฒ์ ๋๋ ๊ฒ์ ๋๋ค.
ํ๋ฉด์ ์ด์ํ ์ ์ ๋์น์ฑ์ง ๋ชปํ๊ฒ ๋์ด ์์ฑ์ ์์ฃผ ํฐ ๊ฐ์ผ๋ก ์ค์ ํด์ค๋๋ค.
์๋ url ๋ณ์์ ๋์ด ๊ฐ์ ์ง์ ํด์ฃผ๊ณ ์คํ์์ผ์ฃผ๋ฉด
์ด๋ ๊ฒ ์คํฌ๋กค๋ ์์ฐ์ค๋ฝ๊ฒ ๋ด๋ ค๊ฐ๊ณ , ์ด์ ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ ์์ ์ธ ์น ํ์ด์ง๋ก ๋ณด์ด๋ค์.
--> ๊ณต๊ฒฉ ์ฑ๊ณต
๋์ ๋ฐฉ์
๋์ด๋ ์์์๋ ์์ ๊ฐ์ ๊ณต๊ฒฉ์ด ๋จนํ์ง ์์ต๋๋ค.. (์๋ฌด๋ฐ์์ด ์์..)
๊ฐ๋ฐ์ ๋ชจ๋๋ก ๋ค์ด๊ฐ๋ด๋ ๋์ผํฉ๋๋ค..
์ด์ ๋ ๋์ด๋ ์์์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ ์ ์ฐํ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ธฐ ๋๋ฌธ์,
์น ๋ธ๋ผ์ฐ์ ์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ํ๊ทธ๋ก ํด์ํ์ง ์์์ ์ธ๋ฐ์.
iframei.php ํ์ด์ง ์ฝ๋๋ฅผ ํ์ธํด๋ณด๋ฉด
'๋์ด๋ ํ'์ ๋ค๋ฅด๊ฒ '์ค' ๊ณผ '์' ์์๋ ํจ์๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
(xss_check ํจ์๋ functions_external.php์ ์ ์๋์ด์์ด์.)
'๋์ด๋ ์ค' ์ addslashesํจ์๋ฅผ ์ด์ฉํ์ฌ ์ฐํํ์๊ณ ,
'๋์ด๋ ์' ์์๋ htmlspecialchars ํจ์๋ก ์ ๋ ฅ๊ฐ์ ์ฐํํ๋ค์!
ํญ์ injection๊ธ๋ง๋ค ๋์ค๋ ์ด ํจ์๋! HTML์์ ์ฌ์ฉํ๋ ํน์๋ฌธ์๋ฅผ UTF-8๋ก ๋ฐํํด์ฃผ๋ ํจ์์ ๋๋ค.
๋ฐ๋ผ์ iframe ์ธ์ ์ ์ ๋ง์ผ๋ ค๋ฉด htmlspecialchars ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์น ๋ธ๋ผ์ฐ์ ์์ iframe ํ๊ทธ์ ์ฌ์ฉํ๋
๋ฌธ์๋ค์ HTMLํ๊ทธ๋ก ํด์ํ์ง ์๊ฒ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ UTF-8๋ก ์ธ์ฝ๋ฉ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
'Game > Bee-box' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Bee-box] ๊ธฐํ ์ธ์ ์ ๊ณต๊ฒฉ- php ์ฝ๋ ์ธ์ ์ (0) | 2020.06.08 |
---|---|
[Bee-box] ๊ธฐํ ์ธ์ ์ ๊ณต๊ฒฉ- OS ์ปค๋งจ๋ ์ธ์ ์ (0) | 2020.06.07 |
[Bee-box] HTML injection - Stored(Blog) (0) | 2020.06.07 |
[Bee-box] HTML injection - Reflected(POST) (0) | 2020.05.03 |
์์คํ ๊ณต๊ฐ ๊ฐ์ฌํฉ๋๋ค