from_string
๋ ์ด์ค์ผ์ดํ๋์ง ์์ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฉํ๋ฏ๋ก ๊ณต๊ฒฉ์๊ฐ ํ
ํ๋ฆฟ์ ์ฝ๋๋ฅผ ์ฝ์
ํ ์ ์์ต๋๋ค.
์ง๋๊ฐ ๋ชจ๋ ๊ฒ์ ์ด์ค์ผ์ดํํด์ผ ํฉ๋๋ค.
https://github.com/JameelNabbo/Jinja2-Code-execution
https://www.exploit-db.com/exploits/46386
ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ CVE๋ฅผ ๋ง๋ ์ฌ์ฉ์๋ ๊ทธ๋ค์ด ๋งํ๋ ๋ด์ฉ์ ๋ชจ๋ฅด๊ณ ์์ผ๋ฉฐ ๋ถํํ๋ ์ด์ ๊ณต์์ ์ผ๋ก ๋ค๋ฆฌ์ง ์๋ ๋ฐฉ์์ผ๋ก ๋ฌด์ฑ ์ํ๊ฒ ๋ง์ ์ฌ๋๋ค์๊ฒ ๋ฌด์ฑ ์ํ๊ฒ ํต์งํ๊ธฐ ๋๋ฌธ์ ๊ณ์ ํด๊ฒฐํด์ผ ํฉ๋๋ค. . ์ด์ ๋ํ ์๋ต์ https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 ์ ์ฐธ์กฐ
from_string
์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ Jina๊ฐ ์ทจ์ฝ์ ์ด ์๋ค๊ณ ๋งํ๋ ๊ฒ์ eval
๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋์ ์ธ์ด๊ฐ ์ทจ์ฝํ๊ฑฐ๋ SQL ๋ฌธ์์ด์ ํ๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ SQL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ทจ์ฝํ๋ค๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๋ ์ฌ์ฉ์ ์
๋ ฅ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ ์ ํ ๋๊ตฌ๋ฅผ ๋ชจ๋ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ ๊ฒ์ด ์๋๋๋ค. SQL ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์ธ์ ์
์ทจ์ฝ์ ์ด ์์ผ๋ฉฐ, SQL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์๋ ์ธ์ ์
์ทจ์ฝ์ ์ด ์์ต๋๋ค.
์ฌ์ ํ ์ ๋ขฐํ ์ ์๋ ํ
ํ๋ฆฟ์ ์ปดํ์ผํ๋ ์ํ์ ๊ฐ์ํ๋ ค๋ฉด SandboxedEnvironment
์ฌ์ฉํด์ผ ํ๊ณ , ์ ๋ขฐํ ์ ์๋ ๋ณ์๋ฅผ ๋ ๋๋งํ ๋๋ autoescape
์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํด๋น ๋ฆฌํฌ์งํ ๋ฆฌ์ CVE๋ฅผ ๋ง๋ ์ฌ์ฉ์๋ ๊ทธ๋ค์ด ๋งํ๋ ๋ด์ฉ์ ๋ชจ๋ฅด๊ณ ์์ผ๋ฉฐ ๋ถํํ๋ ์ด์ ๊ณต์์ ์ผ๋ก ๋ค๋ฆฌ์ง ์๋ ๋ฐฉ์์ผ๋ก ๋ฌด์ฑ ์ํ๊ฒ ๋ง์ ์ฌ๋๋ค์๊ฒ ๋ฌด์ฑ ์ํ๊ฒ ํต์งํ๊ธฐ ๋๋ฌธ์ ๊ณ์ ํด๊ฒฐํด์ผ ํฉ๋๋ค. . ์ด์ ๋ํ ์๋ต์ https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 ์ ์ฐธ์กฐ
from_string
์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ Jina๊ฐ ์ทจ์ฝ์ ์ด ์๋ค๊ณ ๋งํ๋ ๊ฒ์eval
๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋์ ์ธ์ด๊ฐ ์ทจ์ฝํ๊ฑฐ๋ SQL ๋ฌธ์์ด์ ํ๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ SQL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ทจ์ฝํ๋ค๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๋ ์ฌ์ฉ์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ ์ ํ ๋๊ตฌ๋ฅผ ๋ชจ๋ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ ๊ฒ์ด ์๋๋๋ค. SQL ๋ผ์ด๋ธ๋ฌ๋ฆฌ์๋ ์ธ์ ์ ์ทจ์ฝ์ ์ด ์์ผ๋ฉฐ, SQL ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ์ ์ ํ๊ฒ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์๋ ์ธ์ ์ ์ทจ์ฝ์ ์ด ์์ต๋๋ค.์ฌ์ ํ ์ ๋ขฐํ ์ ์๋ ํ ํ๋ฆฟ์ ์ปดํ์ผํ๋ ์ํ์ ๊ฐ์ํ๋ ค๋ฉด
SandboxedEnvironment
์ฌ์ฉํด์ผ ํ๊ณ , ์ ๋ขฐํ ์ ์๋ ๋ณ์๋ฅผ ๋ ๋๋งํ ๋๋autoescape
์ฌ์ฉํด์ผ ํฉ๋๋ค.