Anti-armenia.ORG - Forumlar - SSTI (Server-Side Template Injection)



Istifadəçi
    2023-06-04 11:24 GMT                 

ItIsNotMe



İstifadəçi
Mesaj Sayı : 68
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   5  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : Bakı
Ölkə :
Məslək : ItIsNotMe
Yaş : 22
Mesaj :

Mövzunu Paylaş!


Salamlar hər kəsə,SSTİ nədir?Nədən yaranır? Necə qarşısını ala bilərik? kimi sualların cavabını bu postda verməyə çalışacam,biraz uzun yazı olacaq amma ümid edirəm darıxdırıcı olmaz.
İlk olaraq əgər SSTİ-dan danışırıqsa ondan əvvəl bilməli olduğumuz bir neçə termin və anlayışlar var ki SSTİ-i anlaya bilək.Bunlardan ən əsası MVC adı verilən architectural patterndi ,MVC Model-View-Controller arxitekturasının abreviaturasıdı,
MVC ümumiyyətlə nədir,nə işə yarayır ondan danışaq.MVC-nin əsas məqsədi qısa olaraq desək kod qarışıqlığının qarşısını almaqdı,bunu necə edir, gəlin ona nəzər salaq.

https://img4.teletype.in/files/76/7a/767a8c5d-fa82-46ab-8b10-86746162da00.png


Şəkildə də gördüyünüz kimi MVC 3 layerdən ibarətdi.
İlk layer olan Model layerində database ilə bağlı proseslər gerçəkləşdirilir.
İkinci layer olan View-da adından təxmin etdiyiniz kimi istifadəçinin gördüyü HTML,CSS, JavaScript başqa sözlə desək frontenddən ibarətdir.
Üçüncü layer olan Controller layeri View ilə Model layeri arasında əlaqə yaratmaq işini yerinə yetirir,yəni View-da alınan istifadəçi datalarını və ya komandalarını Model layerinə ötürür.
Əvvəldə də yazdığım kimi MVCnin məqsədi qarışıq kodlardan qurtulmaqdı, əgər biz frontenddə dəyişiklik etmək istəsək onu sadəcə View layerində edəcəyik və bu da bizə həm vaxt qazandırır həm də işimizi asanlaşdırır.
Ümumi olaraq MVCnin çalışma məntiqini bir nümunə ilə izah edərək sizə bu arxitekturanı real case üzərində anlatmağa çalışacam.
Fərz edək ki [url]https://site[.]com[/url] saytımız var və biz bu saytda "news" path-ni görmək istəyirik.
Yəni [url]https://site[.]com/news[/url] səhifəsinə gedirik.Datalar databasedə tutulduğu üçün, bu vaxt Controller gedib Model layerindən bizə lazım olan dataları istəyir.Sonra isə Model layerindən gələn dataları parse edərək View layerinin oxuya biləcəyi formaya salır və göndərir View layerinə.View layeri də öz növbəsində gələn datanı HTML template içərisində lazımı yerlərə yerləşdirərək istifadəçiyə göstərir.
Bura qədər oxuyub MVC arxitekturasını anladınızsa Template Engines-lərin nə olduğuna nəzər salaq.
Template Engine-lər, MVC arxitekturasının View layerində çalışır və dinamik dataları istifadəçilərə təqdim etmək üçün istifadə olunur.Yəni yuxarıda verdiyim nümunədəki kimi Controllerin Modeldən gətirdiyi dataları işləyib HTML formasında göstərir.
Template Engine-lərə PHPdə Twig,Smarty, Pythonda Tornado,Ninja2 və digər proqramlaşdırma dillərinin Template Engine-lərini nümunə göstərə bilərik.
Artıq əsas məsələyə keçə bilərik,SSTİ ,yəni Server-Side Template İnjection.SSTİ XSS-ə bənzəsə də XSS ilə yalnız client-side prosesləri yerinə yetirə bilərik,amma,SSTİ birbaşa serverlə əlaqəli olduğu üçün RCE-ə çevirmək mümkün ola bilər.
SSTİ-i əvvəldə də dediyim kimi detection-u sadədi,sadəcə Template Engine-lərin sintaksisindən istifadə edərək müəyyən payloadlarla SSTİ detect etdikdən sonra hansı template-in istifadə olunduğunu detect etməliyik sonra isə ona uyğun olaraq rce payloadlarımızı yaza bilərik.Buna nümunə olaraq bəlkə də hər yerdə gördüyünüz bu şəkildən istifadə edə bilərsiz.

https://img3.teletype.in/files/68/62/6862e950-4bce-4b44-b257-eafd05e3ee68.png


İndi isə praktiki hissəyə keçə bilərik
Praktikanı Pythonda Flask ilə yazılmış bir sayt üzərində edəcəyik,praktikaya keçməzdən əvvəl kod nümunəsini yazacam və bu nümunə üzərində praltikanı edəcəyik,sonra isə güvənli kod necə olmalıdısa onu yazacam.

Kod:
from flask import Flask, render_template_string
app = Flask(__name__)
@app.route("/mesajlar/<mesaj>")
def your_message(mesaj):
    template = f"<h1>Yazdığın mesaj: { mesaj }</h1>"
    return render_template_string(template)
app.run()
de]

Kodumuz bu şəkildədi,kodu analiz etsək görürük ki /mesajlar/ directorysindən sonrakı directory adını dəyər kimi götürür və render edərək səhifədə çap edir.

https://img3.teletype.in/files/eb/11/eb114ce7-e44c-4a73-ad45-dbe5288e6cb0.png


Gördüyünüz kimi nə yazsaq olduğu kimi çap etdirir,biz də adi mesaj yerinə SSTİ payloadı yazırıq,bizim proyekt Flaskda olduğu üçün sintaksisə uyğun olaraq {{}} payloadından istifadə edəcəyik, {{7*7}} yazırıq və görürük ki bunu olduğu kimi deyil,render edərək 49 kimi verdi.

https://img4.teletype.in/files/30/03/3003fd02-07cb-4f6e-ac20-7b68a92168b7.png


biz artıq burda SSTİ vasitəsilə digər payloadları da çalışdıra bilərik,məsələn {{config}} payloadı kimi

https://img4.teletype.in/files/3c/52/3c5230f9-db54-49a2-adca-3aadd9457e25.png


Güvənli kod isə aşağıdakı kimi olmalıdır.

Kod:
from flask import Flask, render_template_string
from markupsafe import escape
app = Flask(__name__)
@app.route("/mesajlar/<mesaj>")
def your_message(mesaj):
    sanitized_mesaj = escape(mesaj)
    template = "<h1>Yazdığın mesaj: {{ mesaj }}</h1>"
    return render_template_string(template, mesaj=mesaj)
app.run()
de]

Bu kod vasitəsilə artıq aldığı input escape funksiyası tərəfindən filterdən keçir və bizim yazdığımız payloadları flask funksiyası kimi deyil string kimi götürür,bununla da SSTİ-in həmçinin XSS-in qarşısını almış oluruq.

https://img2.teletype.in/files/13/31/13315653-a705-47c9-903d-91b0ce946e8f.png

https://img3.teletype.in/files/a3/b2/a3b20648-d9de-40bf-98a0-a93ced5fbbcf.png


https://img1.teletype.in/files/09/12/09128131-a47c-4586-82d8-c395b386baad.png


SSTI bu qədər sadə həmçinin o qədər təhlükəli açıqdır.

Anti-armenia.ORG
    

Istifadəçi
    2023-06-04 12:32 GMT                 

HaCkEr_33



Banned
Mesaj Sayı : 564
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   35  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər :
Ölkə :
Məslək :
Yaş : 22
Mesaj :

Mövzunu Paylaş!


Son zamanlarda videosunu cekmediyimi istediyim vulnereability ...
Elive saglig.

Anti-armenia.ORG
    

Istifadəçi
    2023-06-04 13:00 GMT                 

ItIsNotMe



İstifadəçi
Mesaj Sayı : 68
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   5  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : Bakı
Ölkə :
Məslək : ItIsNotMe
Yaş : 22
Mesaj :

Mövzunu Paylaş!


Sitat
#62041 HaCkEr_33 :
Son zamanlarda videosunu cekmediyimi istediyim vulnereability ...
Elive saglig.


Təşəkkürlər

Anti-armenia.ORG
    

Istifadəçi
    2023-06-04 14:21 GMT                 

T43RIZ



Creative
Mesaj Sayı : 123
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   26  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : anti-armenia.org
Ölkə :
Məslək : Designer
Yaş : 6
Mesaj :

Mövzunu Paylaş!



Anti-armenia.ORG
    

Istifadəçi
    2023-06-04 14:26 GMT                 

Nərmin



VIP
Mesaj Sayı : 142
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   3  
Indi Saytda : Durum
Cinsiyyət : Qız
Şəhər : Anti-armenia
Ölkə :
Məslək : Dünyamın dizaynı
Yaş : 5
Mesaj :

Mövzunu Paylaş!


Gözəl,əməyinə sağlıq

Anti-armenia.ORG
    

Istifadəçi
    2023-06-04 16:07 GMT                 

thealekberli



İstifadəçi
Mesaj Sayı : 4
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   0  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər :
Ölkə :
Məslək : Cyber Attacker
Yaş :
Mesaj :

Mövzunu Paylaş!


Mükəmməl izah, respect

Anti-armenia.ORG
    

Istifadəçi
    2023-06-04 16:16 GMT                 

ItIsNotMe



İstifadəçi
Mesaj Sayı : 68
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   5  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : Bakı
Ölkə :
Məslək : ItIsNotMe
Yaş : 22
Mesaj :

Mövzunu Paylaş!


Sitat
#62046 Nərmin :
Gözəl,əməyinə sağlıq



Təşəkkürlər

Sitat
#62048 thealekberli :
Mükəmməl izah, respect



Təşəkkürlər

Anti-armenia.ORG
    

Istifadəçi
    2023-06-05 19:22 GMT                 

H3ll0



İstifadəçi
Mesaj Sayı : 3
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   0  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər :
Ölkə :
Məslək : nothing
Yaş : 1
Mesaj :

Mövzunu Paylaş!


Əllərinə sağlıq

Anti-armenia.ORG
    

Istifadəçi
    2023-06-05 20:09 GMT                 

ItIsNotMe



İstifadəçi
Mesaj Sayı : 68
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   5  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : Bakı
Ölkə :
Məslək : ItIsNotMe
Yaş : 22
Mesaj :

Mövzunu Paylaş!


Sitat
#62057 H3ll0 :
Əllərinə sağlıq


Təşəkkürlər

Anti-armenia.ORG