HTML ์ธ์ ์
์ ์ข
๋ฅ๋ ์ ๋ฒ ๊ฒ์๊ธ์์ ํฌ์คํ
ํ์์ฃ .
์ค๋์ Reflected๊ธฐ๋ฒ ์ค GET๋ฐฉ๋ฒ์ ์ค์ตํด๋ณผ๊ฒ์
์ค์ตํ๋ ๋ชจ๋ ๊ณต๊ฒฉ์ ์ค์ ๋ก ์ฌ์ฉํ์๋ฉด ์๋ฉ๋๋ค.
ํ์ฉ๋ฐ์ง ์์ ์๋น์ค ๋์์ ํดํน์ ์๋ํ๋ ํ๋์ ๊ธ์งํ๋ฉฐ,
๋ชจ๋ ๋ฒ์ ์ฑ
์์ ์ฌ์ฉ์์๊ฒ ์๋ ๊ฒ์ ๋ช
์ฌํด์ฃผ์ธ์.
๋จผ์ ์ฌ์ดํธ์์ HTML injection - Reflected(GET) ํญ๋ชฉ์ ์ ํํด ์ฃผ์ธ์.
์ฃผ์์ ๋ณด์๋ฉด htmli_get.php ๋ ์ฌ์ฉ์๊ฐ ์
๋ ฅํ ๊ฐ์ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ ํ์ด์ง ์
๋๋ค.
์ด๋ ์
๋ ฅ ๊ฐ์ ๊ฒ์ฆํ์ง ์์ผ๋ฉด ์น ๋ธ๋ผ์ฐ์ ๋ ๊ณต๊ฒฉ์๊ฐ ์
๋ ฅํ HTML ํ๊ทธ๋ฅผ ํด์ํ๊ณ ๊ด๋ฆฌ์๊ฐ ์๋ํ์ง ์๋ ๋ด์ฉ์ ์ถ๋ ฅํฉ๋๋ค.
๋จผ์ low(๋์ด๋ : ํ) ๋จ๊ณ๋ฅผ ์ค์ตํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋์ด๋ ํ
๋จ๊ณ๋ฅผ low๋ก ์ค์ ํ ํ ์์ํด ๋ด
์๋ค.
ํ
์คํธ๋ฅผ ํ๊ธฐ ์ํด ๊ฐ๋จํ๊ฒ ์ฝ๋๋ฅผ ์ฝ์
ํด ๋ณด์์ต๋๋ค. HTML์ ์กฐ๊ธ ๋ค๋ฃฐ ์ค ์์ ๋ค๋ฉด
์ ๊ฐ ํ ๋ช
๋ น์ด ์ธ์ ๋ค๋ฅธ ๊ฒ๋ค๋ ์๋ํด๋ณด์ธ์!
์ ๋ ์ผ๋จ
First name :
<h1> you win</h1>
Last name :
<img str = http://192.168.0.20/bWAPP/images/bee_1.png
(๋นจ๊ฐ ๋ถ๋ถ์ ์์ ์ ์๋ฒ'Bee-box' IP๋ฅผ ์
๋ ฅํด์ฃผ์
์ผ ํด์)
์ ๋ฃ์ด์ฃผ์๋๋ฐ์. img str๋ HTMl์์ ์ด๋ฏธ์ง ํ๊ทธ, src์์ฑ์ ์
๋ ฅํ ๊ฒฝ๋ก์ ์ด๋ฏธ์ง๋ฅผ ์ถ๋ ฅํ๋ค๋ ์๋ฏธ์
๋๋ค.
๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ๊ฐ๋ณด๋ฉด
ํฐ๋ฏธ๋์์๋ ํ์ธ์ด ๊ฐ๋ฅํ์๊ณ , ํ์ผ๋ก๋ ์ค์ ๋ก ์๋ ์ฌ์ง์ธ ๊ฑธ ๋ณด์ค ์ ์์ด์!
๋จผ์ ๊ฒ์ ํ ์ฌ์ฉํ๊ณ ์ถ์ ์ฌ์ง์ ์ฌ์ฉํด๋ ๋ฉ๋๋น.
์
๋ ฅํด๋ณด์์ต๋๋ค.
์๋์ you win ์ด๋ผ๋ ์ ๊ฐ ์
๋ ฅํ ์ฝ๋์ ๊ฟ๋ฒ ์ฌ์ง์ด ์ฌ๋ผ์๋ค์.
์ด๋ ๊ฒ ๋๋ค ์ ์์ ์ผ๋ก ์ฌ๋ผ์๋ค๋ฉด -> ์ฑ๊ณต
GET๋ฐฉ์์ด๋ผ ์น๋ธ๋ผ์ฐ์ ์ URL ์
๋ ฅ๋ถ๋ถ์ ๋ณ์๊ฐ ๋
ธ์ถ๋๋ค์
์์ธํ ๋ณด๋ fristname๊ณผ lastname ๊ฐ์ด ๋ค ๋ณด์
๋๋ค.
ํ์ฌํผ ! ์ฑ๊ณต์
๋๋ค.ใ
ใ
๋์ด๋ ์ค
๋์ด๋๋ฅผ ๋์ฌ์ ์ค์ตํด๋ณผ๊ป์.
์๊น ๋์ด๋ ํ ์์ ์ผ๋ ๋ฐฉ๋ฒ์ฒ๋ผ ์
๋ ฅ์ ํด๋ดค๋๋.
์ด๋ ๊ฒ ํ๊ทธ๊ฐ ์คํ๋์ง ์๊ณ ํ๋ฉด์ ๋ฌธ์์ด์ด ๊ทธ๋๋ก ์ถ๋ ฅ๋๋ค์
์ด๋ '๋์ด๋ _ ์ค' ์์๋ ํ๊ทธ๋ฅผ ํํฐ๋ง ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ฐ๋ผ์ ํ๊ทธ์ ์ฌ์ฉ๋๋ "<" ">" "/" ๋ฌธ์๋ฅผ URL์ธ์ฝ๋ฉํ์ฌ ์
๋ ฅํด์ผ ํฉ๋๋ค.
์๋๋ ์์คํค ์ฝ๋ ํ์ด๊ณ ,
URL์ธ์ฝ๋ฉ์ ASCII(์์คํค)์ฝ๋์ HEX๊ฐ์์ %๋ฅผ ๋ถ์ธ ๊ฐ์ ๋งํฉ๋๋ค.
%3Ch1%3E you Win %3C%2Fh1%3E
%3Cimg src= http://192.168.0.20/bWAPP/images/bee_1.png%3E
์๋ ๊ฒ ๋ฐ๊พธ์ด ์ฃผ๋ฉด ๋๊ฒ ์ฃ ?!
์
๋ ฅํ ๊ฐ์ ๋ฃ๊ณ GO๋ฅผ ๋๋ฌ์ค๋๋ค
์๊น์ฒ๋ผ ์๋์ you win ๊ณผ ๊ท์ฌ์ด ๋ฒํ๋ง๋ฆฌ๊ฐ ๋ด๋ค์ ใ
ใ
์ฑ๊ณต์
๋๋น.
๋์๋ฐฉ์
๋์ด๋ ์์์๋
'๋์ด๋ ํ'์์ ์ฌ์ฉํ HTMLํ๊ทธ๋ฅผ ์
๋ ฅํ๋ฉด ํ๊ทธ๋ก ํด์ํ์ง ์๊ณ ๋ฌธ์์ด๋ก ์ถ๋ ฅํฉ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก '๋์ด๋ ์ค'์์ ์ฌ์ฉํ ์ธ์ฝ๋ฉ ํ๊ทธ๋ค๋ ์คํํ์ง ์๊ณ ๋ฌธ์์ด๋ก ์ถ๋ ฅํ๊ณ ์.
์ด๋, '์' ๋จ๊ณ์์ ์ฐํ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณค๊ธฐ ๋๋ฌธ์ธ๋ฐ์
์ง์ ํ์ธํด๋ด
์๋ค. ๋จ๊ณ๋ high
๋์ด๋ ์ค ์ฒ๋ผ ์
๋ ฅํด๋ดค๋๋ ์ด๋ ๊ฒ ๋ฌธ์์ด๋ก ๋จ๋ค์..
์ฐํ ๊ณผ์ ์ ํ์ธํ๊ธฐ ์ํด์ ๋น๋ฐ์ค๋ฅผ ๋ค์ด๊ฐ์ ์ง์ ์ฝ๋๋ฅผ ์ฐพ์๋ณด์์ต๋๋ค.
htmli_get.php --> ์ฝ๋๊ฐ ๋ณด์ด๋ค์.
์ดํด๋ณด๋ฉด ๋์ด๋ ํ์๋ no_cleck ์ธ ๋ฐ๋ฉด
๋์ด๋ ์ ์์๋ Xss_check_3 ํจ์๋ก ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฐํ ํ๊ณ ์๋ค์.
ํจ์์ ์ ์๋ ๋ด์ฉ์ ๋ณด๊ธฐ์ํด functions_external.php ์ ๋ค์ด๊ฐ์ ํ์ธ์ ํด๋ณด์์ต๋๋ค.
์ด๋ ๊ฒ ์ฝ๋๊ฐ ์ง์ฌ์ ธ์๋ค์.
htmlspecialcharsํจ์๋ฅผ ์ด์ฉํด์ ์ฐํ๋ฅผ ํ ๊ฒ์ด์ฃ .
์ดํจ์์ ์์ ๋๋ฉด,,(?) '๋์ด๋ : ์'์ ํด๋ฆฌ์ด ํ ์ ์์ ๊ฒ ๊ฐ์๋ฐ
์ฝ๋๋ ์๋์ง ์์๊ฒ์^-^....
htmlspecialchars
์ด ํจ์๋ PHP์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ํจ์๋ก, HTML์์ ์ฌ์ฉํ๋ ํน์ ๋ฌธ์๋ฅผ UTF-8 ๋ก ๋ฐํํฉ๋๋ค.
UTF-8์ ์ ๋์ฝ๋ ํ ๋ฌธ์๋ฅผ 1byte๋ถํฐ 4byte๊น์ง ์ธ์ฝ๋ฉํ๋ฉฐ ์์คํค ์ฝ๋๋ ํธํ์ด ๊ฐ๋ฅํฉ๋๋ค.
htmlspecialcharsํจ์์์ ๋ณํํ๋ ํน์๋ฌธ์๋ &, ", ', <, > ์
๋๋ค.
์ด๋ ๊ฒ. ํ,์ค,์์ ์ค์ตํด ๋ณด์๋๋ฐ์
HTML์ธ์ ์
์ ๋ง์ผ๋ ค๋ฉด ์์๊ฐ์ด htmlspecialcharsํจ์๋ฅผ ์ฌ์ฉํ๊ณ htmlํ๊ทธ์ ์ฌ์ฉ๋๋ ๋ฌธ์๋ค์ ์ธ์ํ์ง ์๊ฒ
์ธ์ฝ๋ฉ์ ํ๋ฉด ๋๋ต๋๋ค.ใ
ใ
์ค๋์ ์ฌ๊ธฐ๊น์ง! ๊ทธ๋ผ ๋ค๋ค ์๊ณ ํ์
จ์ด์