
๊ฐ๋จํ Compare ์ ๊ดํ ์ทจ์ฝ์ ์ผ๋ก ๋ณด์ฌ์ง๋ค.

ํ์ด์ง ์์ฒด๋ ๋ณผ ํ ์๋ค. ์์ค๋ฅผ ์ดํด๋ณด์.

php ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์ ๋ ฅ๋ฐ์ ๊ฐ์ key ๋ก ์ฌ์ฉํ๊ณ json ํํ๋ก ์๋ฒ์ ์ ์กํ๋ ๊ฒ์ผ๋ก ๋ณด์ฌ์ง๋ค. ๊ทธ๋ฆฌ๊ณ submit_check ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฅ๊ฐ ๊ฒ์ฆ๋ ํ๋ ๊ฒ ์ฒ๋ผ ๋ณด์ฌ์ง๋ค.

์ด ๋ถ๋ถ์ ๋ณด๋ฉด, POST ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก ๋ json ํํ์ ๊ฐ์ ๊ฐ์ ธ์จ๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ฒ์์ ์์ฑํ key ๊ฐ๊ณผ ์ฌ์ฉ์๊ฐ ์ ๋ ฅ์ ๋ณด๋ธ ๊ฐ์ '==' ๋๋ฑ์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ ๋น๊ตํ๋ค. ๋น๊ต์ ๊ด๋ จ ๋ ์ฝ๋๋ฅผ ์ดํด๋ณด์์ผ๊ฒ ๋ค.

์๋ฒ์์ ๊ฐ์ ธ์จ js ์์๋ submit๊ณผ submit_check ํจ์๊ฐ ์กด์ฌํ๋ค. submit ํจ์์์๋ submit_check ์์ ๊ฒ์ฆํ ์ ๋ ฅ๊ฐ์ ์ธ์๋ก ์ฌ์ฉํ๋๋ฐ ์ด ์ฌ์ด์์ ๋ฐ์๊ฐ๋ฅํ ์ทจ์ฝ์ ์ด๋ค. submit_check ์์ submit ์ผ๋ก ๋๊ธฐ๋ ์ค์ ๋ฐ์ดํฐ์ ๋ณ์กฐ (key = true ; )๊ฐ ์ผ์ด๋๋ค๋ฉด ์ ๋ ฅ๊ฐ์ ํ๋ฒ๋ ๊ฒ์ฆํ์ง ์๋ submit ํจ์์์๋ ๊ทธ๋๋ก true ๊ฐ์ผ๋ก ์ธ์ํ ๊ฒ ์ด๊ณ , ํ๋๊ทธ๋ฅผ ๋๊ฒจ์ค ๊ฒ์ด๋ค.
ํด๋น ํจ์๋ค์ ๋ชจ๋ ๋ณต์ฌํ์ฌ, ์ฝ์์์ ์ฌ ์ ์ ํ๋๋ก ํ๊ฒ ๋ค.

์ฌ์ค ์ด๋ฐ์์ผ๋ก ํจ์๋ฅผ ์ฌ ์ ์ ํ ์ ์๋์ง๋ ๋ชฐ๋๋ค. ๋ฌผ๋ก submit ์ ์๋ฒ์ ํต์ ํ๋ ๋ถ๋ถ์ด์ง๋ง submit_check ๋ ๋ก์ปฌ์์ ๊ฐ์ ธ์จ ๊ฐ์ ์ด์ฉํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ submit_check ์์ key ๊ฐ์ ์ ์ก์ ์ true ๋ก ๋ฐ๊พธ์ด์ค๋ค.
์ด๋ ๊ฒ ํ๋ค๋ฉด , ์ด๋ค ๊ฐ์ ์ ๋ ฅ์ฐฝ์ ์ ๋ ฅํด๋ ์๋ฒ์ ์ ์ก ์ง์ ์ true ๋ก ๋ฐ๊พธ์ด ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์๋ฒ์์๋ ํญ์ true ๊ฐ๋ง์ ๋ฐ๊ฒ ๋๋ค.


ํ๊ธดํ์ง๋ง ์ฌ์ค type confusion ์ด๋ผ๊ธฐ ๋ณด๋ค, input validation ์ทจ์ฝ์ ์ ์ด์ฉํ๋ค๊ณ ํ ์๋ ์๊ฒ ๋ค. ์ด๋ฌํ ์ข ๋ฅ์ type confusion ๋ฌธ์ ๋ฅผ webgoat 8.0 ์์ ํ์ด๋ณธ์ ์ด ์๋ค. XXE(XML Externel Entity ) ์์ Modern REST framework ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด JSON ๊ฐ์ฒด๋ฅผ ๋ฐ์ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด XXE ๊ณต๊ฒฉ์ ์ทจ์ฝํ ์ ์๋ค๋ ์ ์ด์๋ค. ์๋ฅผ ๋ค์ด Json ๊ฐ์ฒด๋ฅผ ์ด์ฉํ๋ คํ๋ ์๋ฒ์์ XML ๊ฐ์ฒด๋ฅผ ๋ณด๋ด๋ ์๋์ ํ๋ค๋ ๊ฒ์ด์๋ค. ๋ญ ์ด์จ๋ type confusion ์ ์๋ฏธ๋ฅผ ๋ค ์ด๋ฆฌ์ง ๋ชปํ ํ์ด์๋๊ฒ ๊ฐ๋ค.
'Hacking > Wargame' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Wargame ) EASY_Crackme (0) | 2020.07.12 |
---|---|
Wargame ) Web Chatting (0) | 2020.07.11 |
Wargame ) tmitter (0) | 2020.07.09 |
Wargame ) Fly me to the moon (0) | 2020.07.07 |
Wargame ) MD5 Compare (0) | 2020.07.06 |