Python Internal Read Gadgets
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Python Format Strings veya Class Pollution gibi farklı güvenlik açıkları, python iç verilerini okumanıza izin verebilir ancak kod çalıştırmanıza izin vermez. Bu nedenle, bir pentester bu okuma izinlerini en iyi şekilde kullanarak hassas ayrıcalıkları elde etmeli ve güvenlik açığını yükseltmelidir.
Bir Flask uygulamasının ana sayfasında muhtemelen bu gizli anahtarın yapılandırıldığı app
global nesnesi olacaktır.
Bu durumda, bu nesneye erişmek için Python kumandalarını atlama sayfasından herhangi bir gadget kullanarak global nesnelere erişmek mümkündür.
Açığın farklı bir python dosyasında olduğu durumda, ana dosyaya ulaşmak için dosyaları geçmek için bir gadget'a ihtiyacınız var, böylece global nesne app.secret_key
'e erişebilir ve Flask gizli anahtarını değiştirebilir ve bu anahtarı bilerek [yetki yükseltme] yapabilirsiniz.
Bu yazıdan şu yükleme gibi bir payload:
Bu yükü kullanarak app.secret_key
'i (uygulamanızdaki adı farklı olabilir) değiştirin, böylece yeni ve daha fazla yetkiye sahip flask çerezlerini imzalayabilirsiniz.
Bu yazıdan bu yükleri kullanarak machine_id ve uuid node'una erişebileceksiniz, bu da Werkzeug pin'ini oluşturmak için ihtiyaç duyduğunuz ana sırlardır. Eğer hata ayıklama modu etkinse, /console
'da python konsoluna erişmek için kullanabilirsiniz:
Not edin ki sunucunun app.py
'ye olan yerel yolu web sayfasında bazı hatalar oluşturarak yolu alabilirsiniz.
Eğer zafiyet farklı bir python dosyasındaysa, ana python dosyasından nesnelere erişmek için önceki Flask numarasını kontrol edin.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)