Şablon Enjeksiyonu
Aşağıdaki Flask kaynağında name parametresi doğrudan render_template_string içine gidiyor: klasik Sunucu Taraflı Şablon Enjeksiyonu (SSTI). Jinja2’de {{ config['FLAG'] }} yükü ile uygulama yapılandırmasındaki gizli değeri sızdırabilirsin. Ancak yapılandırmadaki değer onaltılık (hex) olarak saklanıyor; sızdırdıktan sonra çözmelisin.
Challenge dosyaları
- app.py (0.4 KB)
Bu challenge ne öğretiyor?
- Python kaynağını okumak, doğrulama mantığını tersine çevirmenin en kısa yoludur.
- Hex (onaltılık), her baytı 0-9 ve a-f ile iki karakterde gösterir.
- Yapılandırma dosyaları anahtar ve parola gibi değerleri yanlışlıkla yayımlar.
- Web challenge'ları sayfa kaynağını okumayı, HTTP ve çerez mantığını anlamayı ve geliştiricinin geride bıraktığı izleri fark etmeyi öğretir.