Python Internal Read Gadgets

AWS hacklemeyi sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Temel Bilgiler

Python Format Dizeleri veya Sınıf Kirliliği gibi farklı zayıflıklar, python içsel verilerini okumanıza izin verebilir, ancak kodu yürütmenize izin vermeyebilir. Bu nedenle, bir pentester, bu okuma izinlerinden duyarlı ayrıcalıklar elde etmek ve zayıflığı yükseltmek için en iyi şekilde yararlanmalıdır.

Flask - Gizli anahtarı okuma

Bir Flask uygulamasının ana sayfasında, bu gizli anahtarın yapılandırıldığı app global nesnesi olabilir.

app = Flask(__name__, template_folder='templates')
app.secret_key = '(:secret:)'

Bu durumda, Python kum havuzlarını atlatma sayfasından herhangi bir araç kullanarak bu nesneye erişmek mümkündür.

Zafiyet başka bir Python dosyasında ise, ana dosyaya ulaşmak için dosyaları gezinmek için bir araca ihtiyacınız vardır. Bu şekilde Flask gizli anahtarını değiştirerek bu anahtarı bilerek ayrıcalıkları yükseltebilirsiniz.

Bu yazıdan bir örnek yük:

__init__.__globals__.__loader__.__init__.__globals__.sys.modules.__main__.app.secret_key

Bu payload'ı kullanarak app.secret_key'i (uygulamanızdaki adı farklı olabilir) değiştirerek yeni ve daha fazla yetkiye sahip flask çerezlerini imzalayabilirsiniz.

Werkzeug - machine_id ve node uuid

Bu yazıdan bu payload'ı kullanarak machine_id ve uuid düğümüne erişebilirsiniz, bunlar Werkzeug pinini oluşturmak için ihtiyaç duyduğunuz ana sırlardır. Eğer hata ayıklama modu etkinse, /console içinde python konsoluna erişmek için kullanabileceğiniz Werkzeug pinini oluşturabilirsiniz:

{ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug]._machine_id}
{ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug].uuid._node}

Dikkat, app.py dosyasının sunucunun yerel yolunu alabilirsiniz, web sayfasında bir hata oluşturarak yolunuzu elde edebilirsiniz.

Eğer zafiyet başka bir python dosyasında ise, ana python dosyasından nesnelere erişmek için önceki Flask hilesine bakın.

AWS hacklemeyi sıfırdan kahraman olmak için öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'i desteklemenin diğer yolları:

Last updated