ํฐ์คํ ๋ฆฌ ๋ทฐ
๊ฐ์
phpMyAdmin์ ๊ธฐ๋ณธ์ ์ผ๋ก GUI ํ๊ฒฝ์์ MySQL ๋๋ MariaDB์ ๊ด๋ฆฌํ ์ ์๋ PHP๋ก ์์ฑ๋ ๋ฌด๋ฃ ์ํํธ์จ์ด๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ํ ์ด๋ธ, ์ด, ๊ถํ, ์ฟผ๋ฆฌ ์์ฑ ๋ฑ์ ๋ํ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ํ๊ฒฝ์์ ์ง์ํ๊ณ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ์ ์ฅ์์๋ ์์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋ ํธ๋ฆฌํ ๋๊ตฌ์ง๋ง ๊ทธ๋งํผ ๊ด๋ฆฌ๊ฐ ๋ฏธํกํ๋ฉด ๋ฆฌ์คํฌ๊ฐ ๋์์ง ์ ์๋ ์๋ ์ ์ํํธ์จ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
์ปจ์คํ ์ ์งํํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก robots.txt์ ์ ์ธ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ํ์ธํ๊ฒ ๋๋๋ฐ phpMyAdmin์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค. ์ค์ํ ์ ์ ์ด๋ฌํ phpMyAdmin์ ๋ํ ์ ๊ทผ ์ ์ฑ ์ด ์ด๋ป๊ฒ ์ด๋ฃจ์ด์ ธ ์๋์ ๋๋ค.
robots.txt ๊ฒฝ๋ก์๋ ๋๋ถ๋ถ์ ๊ฒ์ ์์ง์ ๋ ธ์ถ๋๊ธด ๋ด์ ์์ง ๊ถํ์ ์ ํํ๊ธฐ ์ํด ์ฌ์ฉ๋์ง๋ง ์ฌ์ค ํด์ปค๋ค ์ ์ฅ์์๋ ์์ง๋๊ณ ์๋๊ณ ์ ๋ฌธ์ ๋ ํฌ๊ฒ ์ค์ํ์ง ์์ต๋๋ค. ์ฆ GHDB ์ฉ๋๋ ๊ฑฐ๋ค ๋ฟ์ ๋๋ค.
๋ ธ์ถ๋ ๊ฒฝ๋ก๋ฅผ ํตํด์ ์ ๊ทผํด๋ณธ ๊ฒฐ๊ณผ ๋ณ๋์ 403 Forbidden์ผ๋ก ๋๋ฆฌ์ง ์๊ณ ์ธ์ฆ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์์ต๋๋ค. phpMyAdmin์ ๊ฒฝ์ฐ ์น ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด 2๊ฐ์ง ์ธ์ฆ๋ฐฉ์์ ์ฌ์ฉํ๋๋ก ํ๊ณ ์์ต๋๋ค.
1. HTTP Basic Authentication = .htaccess๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ฉ
2. Cookie => ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ Session ๋ฐฉ์์ด๋ฉฐ ID ์ Password๋ฅผ ์ ๋ ฅ ๋ฐ์
๋๋ถ๋ถ์ phpMyAdmin ์๋น์ค ์ด์ฉ ์ 2๋ฒ์ Cookie ๋ฐฉ์์ ํตํด ์ ๊ทผํ๋๋ก ์ํํ๊ณ ์์ง๋ง ์ข ์ข HTTP Basic ๋ฐฉ์ ์ฆ ์น ์๋ฒ ์ธ์ฆ์ ํตํด ์ ๊ทผ์ ์ด๋ฅผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํฉ๋๋ค. ์ฒ ์ ํ ์ ๊ทผํต์ ๋ฅผ ์ค์ ํ์ฌ ๊ด๋ฆฌํ๋ค๋ฉด ์์ ํ๊ฒ ์ง๋ง, ์ฌ๊ธฐ์ ๋งํ๋ ์ฒ ์ ํ๋ค๋ ๊ฒ์ ์ ํ์ ์ธ ๋ณด์ ์์ค์ ๋๋ค. ์ฆ ์๋์ ์ผ๋ก ๋ณด์ ์์ค์ ๋์ด์ง ์๋ ์ด์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ทจ์ฝํ ํ๊ฒฝ์ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
HTTP Basic ์ธ์ฆ๋ฐฉ์์ ์ฌ์ฉํ๋ phpMyAdmin์๋ ์ฒซ ๋ฒ์งธ ๊ฒฐํจ์ด ์กด์ฌํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก httpd.conf ๋ด์ POST์ GET ๋ฐฉ์์ ๋ํด์๋ ์ ์ธ์ด ๋์ด์๋ค ํ๋๋ผ๋ ๋๋จธ์ง ๋ฉ์๋ ์ฒ๋ฆฌ์ ๋ํ ์ ์๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ phpMyAdmin์ HTTP Basic ์ธ์ฆ๋ฐฉ์์ ์ฐํํ ์ ์๋ ๋ฌธ์ ๋ก ์ด์ด์ง๋๋ค.
์์์ GET์ด๋ POST ๋ฐฉ์์ ์ธ์ฆ์ ์๋ํ๋ฉด ๋น์ฐํ ID ์ Password๊ฐ ์ ๋ ฅ๋์ด ์์ง ์์ 401 ์ธ์ฆ ์คํจ๊ฐ ๋ํ๋ฌ์์ต๋๋ค. ํ์ง๋ง ์น ์๋ฒ ๋ด๋ถ์ ์ ์ธ๋์ด ์์ง ์์ ํ ๋ฉ์๋(PUT, DELETE, TRACE, OPTIONS)๋ก ๋ณ์กฐํ์ฌ ์์ฒญํ๊ฒ ๋๋ฉด ์ธ์ฆ ๋ก์ง์ ์ฐํํ ์ ์์ต๋๋ค.
phpMyAdmin ํ์์ ์กด์ฌํ๋ ์ค์ ํ์ผ ์ค /scripts/setup.php ํ์ผ์ ๊ฒฝ์ฐ phpMyAdmin์ด ์ค์น๋ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํจ๋๋ ํ์ผ๋ก ๋ ธ์ถ์ด ๋ถํ์ํ ์ ๋ณด๋ค์ด ์๊ธฐ ๋๋ฌธ์ ์ญ์ ๋ฅผ ๊ถ๊ณ ํ๊ณ ์์ต๋๋ค. ์ค์ ๋ก Github์ ๋ฐฐํฌ๋๊ณ ์๋ phpMyAdmin์ Fuzzing ๋๊ตฌ ๋ด๋ถ์๋ ์์ ๊ฒฝ๋ก๋ฅผ ์ง์ค์ ์ผ๋ก ์ด๊ฑฐํ๊ณ ์๋ค๋ ์ ์์ ๊ด๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค.
์ค์ ๊ด๋ จ ์์ญ์ ์ ๊ทผํ๋ฉด ๋ ธ์ถ๋์ง ๋ง์์ผ ํ ์ค์ ๊ณ์ ๋ค์ด ๋ ธ์ถ๋ ์ ์์ต๋๋ค. ๋น๋ก ****๋ง์คํน ์ฒ๋ฆฌ๊ฐ ๋์ด ์์ด๋ HTML์ ์กฐ๊ธ๋ง ์์ ํด์ฃผ๋ฉด ํ๋ฌธ์ผ๋ก ํ์ธํ ์ ์๊ฒ ์ฃ ?..
์ข ๋ ํ์คํ ์ํ ๊ฐ๋ฅ์ฑ์ ํ์ ํ๊ณ ์ถ๋ค๋ฉด Github์ ๊ณต์ ๋๋ Fuzzing ๊ฒฝ๋ก๋ณด๋จ Exploit DB์ ๊ณต๊ฐ๋ ๊ฒฝ๋ก๋ฅผ ์ฐธ๊ณ ํ์๋ ๊ฒ์ด ์ข ๋ ๋น ๋ฅด๊ฒ ํฌ๋ฆฌํฐ์ปฌ ํ ๋ฉด์ ๋ฐ๊ฒฌํ์ค ์ ์์ต๋๋ค. ์์ฒ๋ผ phpMyAdmin์ ๋ํ HTTP ์ธ์ฆ์ ์ฐํํ ์ ์๊ฒ ๋๋ค๋ฉด ํ์ ๋ชจ๋ ํ์ผ์ ์ ๊ทผ์ด ๊ฐ๋ฅํ์ฌ ์ค์์ ๋ณด ํ๋, ์ค์๊ฐ ๋๋ฒ๊น ์ด ๋ฐ์ํ๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๊น๋๋ค.
๋์ phpMyAdmin 2.11.11.3์ผ๋ก 2011๋ ๋์ Release ๋ ์ค๋๋ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค. ๊ณต๊ฐ๋ ์ทจ์ฝ์ ์ ์์๋ณด๋ ์ค phpMyAdmin 3.3.8.1 ๋๋ 3.4.0-beta1 ์ด์ ๋ฒ์ ์ ์กด์ฌํ๋ “error.php” ๋ด๋ถ์ HTML ๊ธฐ๋ฅ๊ณผ ์ ์ฌํ bbcode(@)๊ฐ ํ์ฉ๋์ด ์์ด ํด๋น ํ์ด์ง๋ฅผ ํตํด “ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ ”์ ์ ๋ฐํ ์ ์๋ ์ทจ์ฝ์ ์ด ์๋ค๋ ๊ฒ์ ์ถ๊ฐ์ ์ผ๋ก ํ์ ํ์ต๋๋ค.
๋์ผํ ๋ฐฉ์์ผ๋ก ์น ์๋ฒ์ ์ง์ ๋์ง ์์ ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ HTTP Basic ์ธ์ฆ์ ์ฐํํ ๊ฒฐ๊ณผ ์ฑ๊ณต์ ์ผ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
error.php ํ์ผ์ ํตํด ์์ ๋ฉ์๋๋ฅผ ์ง์ ํ์ฌ ํ์ด์ง ๋ด๋ถ์ ์ฝ๋๋ฅผ ์ฝ์ ํ ์ ์๋์ง ํ ์คํธํด๋ณธ ๊ฒฐ๊ณผ ์ง์ ๋ ์ ๋ ฅ ๊ฐ์ด ์ฝ์ ๋์ด ๋ณด์ด๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํด์ปค๋ ์์ ์ฝ๋๋ฅผ ์ฝ์ ํ ์ํ์์ ๊ด๋ฆฌ์๋ฅผ ํ๊น์ผ๋ก ๊ณต๊ฒฉํ ์ ์์ต๋๋ค.
phpMyAdmin/error.php?type=guleum&error=guleum[a@http://192.168.0.30/xss.php?@page]PleaseClick[/a]
๋ฌธ์์ด ๊ตฌ๋ถ์ “?” ์ “type”/“error” ๋งค๊ฐ๋ณ์๋ฅผ ํตํด ์์ ๋ฌธ๊ตฌ๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ด์ง ๋ด๋ถ์ ์ฝ์ ๋๋ค. ์ด๋ฌํ ์ ์ ํตํด ๊ณต๊ฒฉ์๋ ํด๋น ํ์ด์ง์ ์ ๊ทผํ ๊ด๋ฆฌ์์ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ํ๋ํ ์ ์๋ ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ ๊ด๋ จ ๋งํฌ๋ฅผ ์ฝ์ ํ ์ ์์ต๋๋ค.
ํด๋น ์คํฌ๋ฆฝํธ๊ฐ ์ฝ์ ๋ ๋งํฌ๋ฅผ ํด๋ฆญํ ์ฌ์ฉ์๋ ๊ณต๊ฒฉ์๊ฐ ์ง์ ํด๋ ํํ์ ์ฝ๋๊ฐ ์คํ๋๊ฒ ๋๋ฉฐ ์ด๋ฌํ ๋ก๊ทธ์ธ ์ธ์ ์ ๋ณด๋ ๊ณต๊ฒฉ์์๊ฒ ๋์ด๊ฐ๊ฒ ๋๋ ๊ฒ ์ผ๋ฐ์ ์ธ ํํ์ ๋๋ค. ํ์ง๋ง ์ฝ๋๊ฐ ์คํ๋๋ฉด ์ธ์ ์ ๋ณด ๋ง๊ณ ๋ ํ์คํ ๊ฐ์ ์ป๊ธฐ ์ํด ๋์ผํ ํผ์ฑ ํ์ด์ง๋ก ๋๊ธฐ๋ ๋ฐฉ๋ฒ๋ ๊ด์ฐฎ์ต๋๋ค. ๊ฐ์ฅ ๊ณ ์ ์ ์ธ ํํ์ง๋ง ์๋์ ์ธ ๊ฒฐ๊ณผ์ ์ฌํ๊ณตํ ๊ธฐ๋ฒ์ด๊ธฐ ๋๋ฌธ์ ์์ง๊น์ง ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
site:*/phpMyAdmin
๊ณตํต์ ์ผ๋ก ๋ณด์ฌ์ง๋ ํผ์ฑ ํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ ์๋ณธ html, css๊ฒฝ๋ก, javascript ๋ฑ์ด ํ์ํฉ๋๋ค. ์ง์ ์ฝ๋๋ฅผ ์์ฑํ์ ๋ ์ข์ง๋ง ์ปจ์คํ ๋๋ ๋จ์๊ฐ ๋ด์ ์์ ํ๊ธฐ ์ํด์ Google Engine์ ํ์ ๋น๋ฆฌ๋ ๊ฒ๋ ์ข์ต๋๋ค.
ํผ์ฑ ํ์ด์ง ์ฌ์ฉ๋ ์ ๋นํ ํ์ด์ง๋ฅผ ํ์ธํ๋ค๋ฉด wget ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๊ฐ์ ธ์ต๋๋ค. --convert-link๋ ๋ค์ด๋ก๋๋ฅผ ๋ง์น ํ ๋งํฌ๋ฅผ ๋ก์ปฌ๋ก ๋ณ๊ฒฝํด์ฃผ๋ ์ต์ ์ ๋๋ค.
ํผ์ฑ ํ์ด์ง๋ก ์ด์ฉํ๋ค๋ฉด ๋น์ฐํ ๋ก๊ทธ์ธ ์ดํ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ ๊ณต๊ฒฉ์์ ์น ์๋ฒ ํ์ผ๋ก ํฅํ๋๋ก ๋์ด์์ด์ผ ํฉ๋๋ค. post.php ํ์ผ์ ์ ๋ณด๊ฐ ๊ถ๊ธํ์๋ฉด ์ ๊นํ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์๋ฉด ๋ฉ๋๋ค. ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฐฉ์์ 2๊ฐ์ง ํํ๋ก ๊ฐ๋จํ๊ฒ ์์ฑํด๋์ต๋๋ค. ๋งค๊ฐ๋ณ์์ ์์ ์ด ํ์ํ ๊ฒ๊ณผ POST ์์ฒญ์ ๋ํ ์ผ๊ด์ ์ธ ์ฒ๋ฆฌ์ ๋๋ค.
https://github.com/guleum/Phishing_Guide
๋๋ต ์ด๋ฐ ํํ์ ํผ์ฑ ํ์ด์ง๊ฐ ์์ฑ๋์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค. ์ค์ ์ ์ฉ์ ํ๋ค๋ฉด ๊ณต๊ฒฉ์๋ ํ์ธ์ ์ ๋ณด๋ฅผ ํตํด ํธ์คํ ์๋ฒ์ ํผ์ฑ ๋ฐ์ดํฐ๋ฅผ ์ ๋ก๋ํ๊ณ ์ ์ฌ ๋๋ฉ์ธ์ผ๋ก ํ๊ธฐ ์ํด dns๋ฅผ ๋ณ์กฐํ์ฌ ๊ด๋ฆฌ์๋ค์ ๊ณ์ ์ ํ์ทจํ๊ธฐ ์ํ ์ฌํ๊ณตํ ๊ธฐ๋ฒ๊ณผ ์๋น์ค ํ์ด์ง์ ์ทจ์ฝ์ ์ ์๋ํ ๊ฒ์ ๋๋ค.
https://www.example.com/phpMyAdmin/error.php? type=guleum&error=guleum[a@http://192.168.0.30/phpmyadmin.html?@page]PleaseClick[/a]
์ฒซ ์์์ ๋๋ฉ์ธ์ด www.example.com ์ธ ๊ฒ์ ํ์ธํ๊ณ ์์ฌํ์ง ์์ ์ํ๋ก ํ์ด์ง์ ์ ๊ทผํ๊ฒ ๋ ๊ฒฝ์ฐ ์์ฐ์ค๋ ๊ณต๊ฒฉ์๊ฐ ๋ง๋ค์ด ๋ ํผ์ฑ ํ์ด์ง๋ก ์ค์๊ฐ ๊ณ์ ํ์ทจ๋ฅผ ๋นํ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํฉ๋๋ค.
์ด์ฒ๋ผ ๊ณต๊ฒฉ์๋ www.example.com์ ๋๋ฉ์ธ์ ํตํด ์ทจ์ฝ์ ์ ๊ณต๋ต ์ค HTTP Basic ์ธ์ฆ์ ํตํ phpMyAdmin ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ํ์ ํ์๊ณ , HTTP ์ธ์ฆ ์ฐํ๋ฅผ ํตํด ๋ด๋ถ ์ค์ ํ์ผ์ ์ ๋ณด์ ์ฟผ๋ฆฌ๋ฌธ์ ์คํํ ์ ์๋ ํ์ด์ง๋ฅผ ํ์ธํ์ต๋๋ค. ์ถ๊ฐ์ ์ผ๋ก phpMyAdmin์ ์ทจ์ฝ์ ์ด ์กด์ฌํ ๊ฒฝ์ฐ ์ด๋ฅผ ํตํด ๋ค์ํ ๊ณต๊ฒฉ ์๋๊ฐ ๊ฐ๋ฅํ ๋งํผ ์์ ํ ๊ด๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
๋์๋ฐฉ์
phpMyAdmin ํ์ด์ง์ ํ์ฉํ IP ๋ฑ๋ก
phpMyAdmin์ ์ด๋ฆ์ ์ ์ถํ๊ธฐ ํ๋ค๊ฒ ์ค์
phpMyAdmin ์ค์น ํ ๋ถํ์ํ ์ค์ ํ์ผ
์น ์๋ฒ์์ Method(PUT, DELETE, HEAD, TRACE ๋ฑ) ์ ํ ์ค์
์์ ํ๊ฒ phpMyAdmin์ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ํฌ๊ฒ 3๊ฐ์ง ๋ฐฉ๋ฒ์ด ์กด์ฌํฉ๋๋ค. ์ฒซ ๋ฒ์งธ๋ก ๋ค์์ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ ํ์๊ฐ ์๋ phpMyAdmin์ ํ์ฉํ IP๋ฅผ ์ง์ ํด์ฃผ๋ ๊ฒ์ด ์ข์ผ๋ฉฐ, ์ค์น ํ ์ด์์ ๋ถํ์ํ ์ค์ ํ์ผ์(scripts/setup.php ๋ฑ) ๋ณ๋๋ก ๋ฐฑ์ ํ ์ ๊ฑฐํด์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก HTTP Basic ์ธ์ฆ ๋ฐฉ์์ "Base64" ๋ฐฉ์์ผ๋ก ์ธ์ฝ๋ฉ์ ํตํด ์ ๋ฌ๋๊ณ ์์ด ๋ณด์์ ์์ ํ์ง ์์ต๋๋ค. ๋๋๋ก Cookie ๋ฐฉ์์ ํตํด ์ธ์ฆํ๋ ๊ฒ์ ๊ถ๊ณ ํฉ๋๋ค.
//httpd.conf ์ค์
<Directory "/usr/share/phpMyAdmin"> # yum์ผ๋ก ์ค์น ์ ๊ธฐ๋ณธ๊ฒฝ๋ก
Options FollowSymLinks Multiviews
AllowOverride None
Order deny,allow
Deny from all
Allow from 1.210.182.6 # ์ ๊ทผ์ ํ์ฉํ IP ์ง์
Allow from 213.101.141.119 # ์ ๊ทผ์ ํ์ฉํ IP ์ง์
</Directory>
๋๋ # Apache 2.2 ์ด์ ๋ฒ์ ์ผ ๊ฒฝ์ฐ
Require all denied
Require ip # ์ ๊ทผ์ ํ์ฉํ IP ์ง์
//httpd.conf๋ฅผ ํตํ GET AND POST ์ด์ธ์ ๋ชจ๋ ๋ฉ์๋ ์ ํ
<Directory /home> # ํด๋น ๋๋ฉ์ธ์ ๊ฒฝ๋ก
<LimitExcept GET POST>
Order deny.allow # GET ๊ณผ POST ์ด์ธ์๋ 403 ์ฒ๋ฆฌ
Deny from all
</LimitExcept>
</Directory>
'WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Atlassian REST API ์ทจ์ฝ์ (0) | 2021.09.11 |
---|---|
Atlassian XSS ์ทจ์ฝ์ (0) | 2021.09.10 |
Subdomain Takeover ์ทจ์ฝ์ (0) | 2021.04.18 |
HTTP Request Smuggling(HTTP Desync Attack) ์ทจ์ฝ์ (1) | 2021.04.17 |
๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ (CORS) ์ทจ์ฝ์ (3) | 2021.04.16 |