Server Side Template Injection(SSTI) Nedir ? ve Tespiti

SecurityFaTHeR

Uzman üye
4 Şub 2022
1,324
361
Herkese merhabalar TurkHackTeam Ailesi, ben Siber Güvenlik Kulübünden SecurityFaTHeR bügün Sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalışacağım konumuza geçelim.

Server Side Template Injection(SSTI) Nedir ?
Server side template injection(SSTI) saldırganların server tarafında kullanılan yerel şablonlara kötü niyetli komutları enjekte etmesiyle oluşur. Şablon motoruna geçersiz kullanıcı girişi yerleştirildiği zaman yani giriş doğrulaması düzgün işlenmediğinde güvenlik açığı oluşur ve bu da uzaktan kod yürütülmesine(RCE)neden olabilir.













Server Side Template Injection(SSTI) Tespiti
Server Side Template Injection(SSTI) zaafiyetinin varlığını çeşitli yollar ile bulabiliriz.Hangi templateyi kullanmış ise o templatenin payloadı ile saldırabiliriz.eğer biz {{7*7}} bir kod girersek 49 değerini yazdırırsa burada bir Server Side Template Injection(SSTI) var olduğunu gösterir.Bundan sonra yapmamız gereken hangi dille yazılan templatenin kullanıldığını öğrenmek ve o dildeki kodları kullanarak back-endde kod çalıştırmaya çalışmak.



Örnek:
Kod:
${7*7}  # kullanılan template FreeMarker(java) olabilir.
{{7*'7'}} & {{7*7}} kullanılan template Twig yada Jinja2(python) olabilir.

Server Side Template Injection Nerelerde Olabilir ?


Kod:
127.0.0.1/product_id={7*7} # parametrelerden olabilir.

Input alanlarında olabilir.

127.0.0.1/{7*7} # slashtan sonra olabilir.

127.0.0.1/server_id=3'<script>alert(1)</script>{7*7} # Reflected XSS olduğu yerlerde olabilir.

Templateyi userdan alıyorsa Server Side Template Injection Olabilir.



Server Side Template Injection Örnek Lab Çözümü



İlk olarak labımıza giriyoruz ve bizden istediği /home/carlos dizinindeki morale.txt dosyasını silmemizi istiyor.ERB documentation dediği için ruby dilinde yazılmış bir template var o zaman ruby dilinde enjeksiyon yapacağız.





Gördüğünüz gibi 'message=' parametresine SecurityFaTHeR girdiğim zaman ekrana yansıttı burada bir reflected xss var şimdi Server Side Templates Injection(SSTI) payloadı deneyelim.






Gördüğünüz gibi ekrana 49 yazıldı burada Server Side Template Injection var.Zaafiyeti Remote Code Execution'a çevirmeyi deneyelim.

,

Gördüğünüz gibi ruby ile yazılmış templatede system komutunu çağırarak Server Side Template Injection(SSTI)'yi Remote Code Execution'a çevirdik.Şimdi labda bizden istediği görevi yapalım.






Server Side Template Injection(SSTI)'yi exploit chaning yaparak Remote Code Execution zaafiyetine dönüştürdük ve serverda kod çalıştırarak labdaki görevi yaptık ve labımızı çözdük.





Bügün sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalıştım iyi günler.
 
Son düzenleme:

rootibo

Kıdemli Üye
13 Mar 2023
2,169
1,460
Herkese merhabalar TurkHackTeam Ailesi, ben Siber Güvenlik Kulübünden SecurityFaTHeR bügün Sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalışacağım konumuza geçelim.

Server Side Template Injection(SSTI) Nedir ?
Server side template injection(SSTI) saldırganların server tarafında kullanılan yerel şablonlara kötü niyetli komutları enjekte etmesiyle oluşur. Şablon motoruna geçersiz kullanıcı girişi yerleştirildiği zaman yani giriş doğrulaması düzgün işlenmediğinde güvenlik açığı oluşur ve bu da uzaktan kod yürütülmesine(RCE)neden olabilir.













Server Side Template Injection(SSTI) Tespiti
Server Side Template Injection(SSTI) zaafiyetinin varlığını çeşitli yollar ile bulabiliriz.Hangi templateyi kullanmış ise o templatenin payloadı ile saldırabiliriz.eğer biz {{7*7}} bir kod girersek 49 değerini yazdırırsa burada bir Server Side Template Injection(SSTI) var olduğunu gösterir.Bundan sonra yapmamız gereken hangi dille yazılan templatenin kullanıldığını öğrenmek ve o dildeki kodları kullanarak back-endde kod çalıştırmaya çalışmak.



Örnek:
Kod:
${7*7}  # kullanılan template FreeMarker(java) olabilir.
{{7*'7'}} & {{7*7}} kullanılan template Twig yada Jinja2(python) olabilir.

Server Side Template Injection Nerelerde Olabilir ?


Kod:
127.0.0.1/product_id={7*7} # parametrelerden olabilir.

Input alanlarında olabilir.

127.0.0.1/{7*7} # slashtan sonra olabilir.

127.0.0.1/server_id=3'<script>alert(1)</script>{7*7} # Reflected XSS olduğu yerlerde olabilir.

Templateyi userdan alıyorsa Server Side Template Injection Olabilir.



Server Side Template Injection Örnek Lab Çözümü



İlk olarak labımıza giriyoruz ve bizden istediği /home/carlos dizinindeki morale.txt dosyasını silmemizi istiyor.ERB documentation dediği için ruby dilinde yazılmış bir template var o zaman ruby dilinde enjeksiyon yapacağız.





Gördüğünüz gibi 'message=' parametresine SecurityFaTHeR girdiğim zaman ekrana yansıttı burada bir reflected xss var şimdi Server Side Templates Injection(SSTI) payloadı deneyelim.






Gördüğünüz gibi ekrana 49 yazıldı burada Server Side Template Injection var.Zaafiyeti Remote Code Execution'a çevirmeyi deneyelim.

,

Gördüğünüz gibi ruby ile yazılmış templatede system komutunu çağırarak Server Side Template Injection(SSTI)'yi Remote Code Execution'a çevirdik.Şimdi labda bizden istediği görevi yapalım.






Server Side Template Injection(SSTI)'yi exploit chaning yaparak Remote Code Execution zaafiyetine dönüştürdük ve serverda kod çalıştırarak labdaki görevi yaptık ve labımızı çözdük.





Bügün sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalıştım iyi günler.
Elinize Saglik Gorseler Kaymis Galiba :D
 

louise0357

Anka Team Junior
21 Tem 2023
570
224
Medellín
Herkese merhabalar TurkHackTeam Ailesi, ben Siber Güvenlik Kulübünden SecurityFaTHeR bügün Sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalışacağım konumuza geçelim.

Server Side Template Injection(SSTI) Nedir ?
Server side template injection(SSTI) saldırganların server tarafında kullanılan yerel şablonlara kötü niyetli komutları enjekte etmesiyle oluşur. Şablon motoruna geçersiz kullanıcı girişi yerleştirildiği zaman yani giriş doğrulaması düzgün işlenmediğinde güvenlik açığı oluşur ve bu da uzaktan kod yürütülmesine(RCE)neden olabilir.













Server Side Template Injection(SSTI) Tespiti
Server Side Template Injection(SSTI) zaafiyetinin varlığını çeşitli yollar ile bulabiliriz.Hangi templateyi kullanmış ise o templatenin payloadı ile saldırabiliriz.eğer biz {{7*7}} bir kod girersek 49 değerini yazdırırsa burada bir Server Side Template Injection(SSTI) var olduğunu gösterir.Bundan sonra yapmamız gereken hangi dille yazılan templatenin kullanıldığını öğrenmek ve o dildeki kodları kullanarak back-endde kod çalıştırmaya çalışmak.



Örnek:
Kod:
${7*7}  # kullanılan template FreeMarker(java) olabilir.
{{7*'7'}} & {{7*7}} kullanılan template Twig yada Jinja2(python) olabilir.

Server Side Template Injection Nerelerde Olabilir ?


Kod:
127.0.0.1/product_id={7*7} # parametrelerden olabilir.

Input alanlarında olabilir.

127.0.0.1/{7*7} # slashtan sonra olabilir.

127.0.0.1/server_id=3'<script>alert(1)</script>{7*7} # Reflected XSS olduğu yerlerde olabilir.

Templateyi userdan alıyorsa Server Side Template Injection Olabilir.



Server Side Template Injection Örnek Lab Çözümü



İlk olarak labımıza giriyoruz ve bizden istediği /home/carlos dizinindeki morale.txt dosyasını silmemizi istiyor.ERB documentation dediği için ruby dilinde yazılmış bir template var o zaman ruby dilinde enjeksiyon yapacağız.





Gördüğünüz gibi 'message=' parametresine SecurityFaTHeR girdiğim zaman ekrana yansıttı burada bir reflected xss var şimdi Server Side Templates Injection(SSTI) payloadı deneyelim.






Gördüğünüz gibi ekrana 49 yazıldı burada Server Side Template Injection var.Zaafiyeti Remote Code Execution'a çevirmeyi deneyelim.

,

Gördüğünüz gibi ruby ile yazılmış templatede system komutunu çağırarak Server Side Template Injection(SSTI)'yi Remote Code Execution'a çevirdik.Şimdi labda bizden istediği görevi yapalım.






Server Side Template Injection(SSTI)'yi exploit chaning yaparak Remote Code Execution zaafiyetine dönüştürdük ve serverda kod çalıştırarak labdaki görevi yaptık ve labımızı çözdük.





Bügün sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalıştım iyi günler.
Elinize Sağlık Hocam :)
 

TurkGokay

Uzman üye
4 Ara 2022
1,022
544
Kemalizm
Herkese merhabalar TurkHackTeam Ailesi, ben Siber Güvenlik Kulübünden SecurityFaTHeR bügün Sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalışacağım konumuza geçelim.

Server Side Template Injection(SSTI) Nedir ?
Server side template injection(SSTI) saldırganların server tarafında kullanılan yerel şablonlara kötü niyetli komutları enjekte etmesiyle oluşur. Şablon motoruna geçersiz kullanıcı girişi yerleştirildiği zaman yani giriş doğrulaması düzgün işlenmediğinde güvenlik açığı oluşur ve bu da uzaktan kod yürütülmesine(RCE)neden olabilir.













Server Side Template Injection(SSTI) Tespiti
Server Side Template Injection(SSTI) zaafiyetinin varlığını çeşitli yollar ile bulabiliriz.Hangi templateyi kullanmış ise o templatenin payloadı ile saldırabiliriz.eğer biz {{7*7}} bir kod girersek 49 değerini yazdırırsa burada bir Server Side Template Injection(SSTI) var olduğunu gösterir.Bundan sonra yapmamız gereken hangi dille yazılan templatenin kullanıldığını öğrenmek ve o dildeki kodları kullanarak back-endde kod çalıştırmaya çalışmak.



Örnek:
Kod:
${7*7}  # kullanılan template FreeMarker(java) olabilir.
{{7*'7'}} & {{7*7}} kullanılan template Twig yada Jinja2(python) olabilir.

Server Side Template Injection Nerelerde Olabilir ?


Kod:
127.0.0.1/product_id={7*7} # parametrelerden olabilir.

Input alanlarında olabilir.

127.0.0.1/{7*7} # slashtan sonra olabilir.

127.0.0.1/server_id=3'<script>alert(1)</script>{7*7} # Reflected XSS olduğu yerlerde olabilir.

Templateyi userdan alıyorsa Server Side Template Injection Olabilir.



Server Side Template Injection Örnek Lab Çözümü



İlk olarak labımıza giriyoruz ve bizden istediği /home/carlos dizinindeki morale.txt dosyasını silmemizi istiyor.ERB documentation dediği için ruby dilinde yazılmış bir template var o zaman ruby dilinde enjeksiyon yapacağız.





Gördüğünüz gibi 'message=' parametresine SecurityFaTHeR girdiğim zaman ekrana yansıttı burada bir reflected xss var şimdi Server Side Templates Injection(SSTI) payloadı deneyelim.






Gördüğünüz gibi ekrana 49 yazıldı burada Server Side Template Injection var.Zaafiyeti Remote Code Execution'a çevirmeyi deneyelim.

,

Gördüğünüz gibi ruby ile yazılmış templatede system komutunu çağırarak Server Side Template Injection(SSTI)'yi Remote Code Execution'a çevirdik.Şimdi labda bizden istediği görevi yapalım.






Server Side Template Injection(SSTI)'yi exploit chaning yaparak Remote Code Execution zaafiyetine dönüştürdük ve serverda kod çalıştırarak labdaki görevi yaptık ve labımızı çözdük.





Bügün sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalıştım iyi günler.
Eline sağlık, bir farklılık olsun. :)
 

egemizah

Katılımcı Üye
19 Şub 2021
864
429
Elinize
Herkese merhabalar TurkHackTeam Ailesi, ben Siber Güvenlik Kulübünden SecurityFaTHeR bügün Sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalışacağım konumuza geçelim.

Server Side Template Injection(SSTI) Nedir ?
Server side template injection(SSTI) saldırganların server tarafında kullanılan yerel şablonlara kötü niyetli komutları enjekte etmesiyle oluşur. Şablon motoruna geçersiz kullanıcı girişi yerleştirildiği zaman yani giriş doğrulaması düzgün işlenmediğinde güvenlik açığı oluşur ve bu da uzaktan kod yürütülmesine(RCE)neden olabilir.













Server Side Template Injection(SSTI) Tespiti
Server Side Template Injection(SSTI) zaafiyetinin varlığını çeşitli yollar ile bulabiliriz.Hangi templateyi kullanmış ise o templatenin payloadı ile saldırabiliriz.eğer biz {{7*7}} bir kod girersek 49 değerini yazdırırsa burada bir Server Side Template Injection(SSTI) var olduğunu gösterir.Bundan sonra yapmamız gereken hangi dille yazılan templatenin kullanıldığını öğrenmek ve o dildeki kodları kullanarak back-endde kod çalıştırmaya çalışmak.



Örnek:
Kod:
${7*7}  # kullanılan template FreeMarker(java) olabilir.
{{7*'7'}} & {{7*7}} kullanılan template Twig yada Jinja2(python) olabilir.

Server Side Template Injection Nerelerde Olabilir ?


Kod:
127.0.0.1/product_id={7*7} # parametrelerden olabilir.

Input alanlarında olabilir.

127.0.0.1/{7*7} # slashtan sonra olabilir.

127.0.0.1/server_id=3'<script>alert(1)</script>{7*7} # Reflected XSS olduğu yerlerde olabilir.

Templateyi userdan alıyorsa Server Side Template Injection Olabilir.



Server Side Template Injection Örnek Lab Çözümü



İlk olarak labımıza giriyoruz ve bizden istediği /home/carlos dizinindeki morale.txt dosyasını silmemizi istiyor.ERB documentation dediği için ruby dilinde yazılmış bir template var o zaman ruby dilinde enjeksiyon yapacağız.





Gördüğünüz gibi 'message=' parametresine SecurityFaTHeR girdiğim zaman ekrana yansıttı burada bir reflected xss var şimdi Server Side Templates Injection(SSTI) payloadı deneyelim.






Gördüğünüz gibi ekrana 49 yazıldı burada Server Side Template Injection var.Zaafiyeti Remote Code Execution'a çevirmeyi deneyelim.

,

Gördüğünüz gibi ruby ile yazılmış templatede system komutunu çağırarak Server Side Template Injection(SSTI)'yi Remote Code Execution'a çevirdik.Şimdi labda bizden istediği görevi yapalım.






Server Side Template Injection(SSTI)'yi exploit chaning yaparak Remote Code Execution zaafiyetine dönüştürdük ve serverda kod çalıştırarak labdaki görevi yaptık ve labımızı çözdük.





Bügün sizlere Server Side Template Injection(SSTI) Nedir ve Tespiti hakkında bilgi vermeye çalıştım iyi günler.
Elinize emeginize saglık
 

Yeni Kullanıcıyım Ben

Katılımcı Üye
11 Ara 2022
802
302
Matrix
Elinize sağlık,


Exploit chaning kısmını biraz anlatır mısınız?
Orada kafam karıştı, "exploit chaning ile RCE ye dönüştürdük" bu kısımı açar mısınız?
 

SecurityFaTHeR

Uzman üye
4 Şub 2022
1,324
361
Elinize

Elinize emeginize saglık
teşekkürler

Elinize sağlık,


Exploit chaning kısmını biraz anlatır mısınız?
Orada kafam karıştı, "exploit chaning ile RCE ye dönüştürdük" bu kısımı açar mısınız?
Burada Server Side Template Injection'u kullanarak sunucuda kod çalıştırabildik.Bu durumdada Remote Code Execution zaafiyetine dönüştürdük ve daha tehlikeli bir zaafiyete çevirdik.Buna exploit chaning denir.Bug bounty yaparken daha fazla kazanç elde etmek için işimize exploit chaning yarayabilir.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.