# Python Interni Čitački Gadgeti {% hint style="success" %} Naučite i vežbajte AWS hakovanje:[**HackTricks Obuka AWS Crveni Tim Stručnjak (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Naučite i vežbajte GCP hakovanje: [**HackTricks Obuka GCP Crveni Tim Stručnjak (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Podržite HackTricks * Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)! * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Podelite hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
{% endhint %} ## Osnovne Informacije Različite ranjivosti poput [**Python Format Stringova**](bypass-python-sandboxes/#python-format-string) ili [**Zagađenje Klasa**](class-pollution-pythons-prototype-pollution.md) mogu vam omogućiti da **čitate interne podatke Pythona ali vam neće dozvoliti izvršavanje koda**. Stoga, pentester će morati maksimalno iskoristiti ova dozvola za čitanje kako bi **dobio osetljive privilegije i eskalirao ranjivost**. ### Flask - Čitanje tajnog ključa Glavna stranica Flask aplikacije verovatno će imati **`app`** globalni objekat gde je ovaj **tajni ključ konfigurisan**. ```python app = Flask(__name__, template_folder='templates') app.secret_key = '(:secret:)' ``` U ovom slučaju moguće je pristupiti ovom objektu koristeći bilo koji gedžet za **pristup globalnim objektima** sa [**Bypass Python sandboxes stranice**](bypass-python-sandboxes/). U slučaju kada je **ranjivost u drugom Python fajlu**, potreban vam je gedžet za pretragu fajlova kako biste došli do glavnog fajla i **pristupili globalnom objektu `app.secret_key`** kako biste promenili Flask tajni ključ i bili u mogućnosti da [**dignete privilegije** znajući ovaj ključ](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign). Payload poput ovog [iz ovog writeupa](https://ctftime.org/writeup/36082): {% code overflow="wrap" %} ```python __init__.__globals__.__loader__.__init__.__globals__.sys.modules.__main__.app.secret_key ``` {% endcode %} Koristite ovaj payload da **promenite `app.secret_key`** (naziv u vašoj aplikaciji može biti drugačiji) kako biste mogli da potpišete nove i privilegovane flask kolačiće. ### Werkzeug - machine\_id i node uuid [**Koristeći ovaj payload iz ovog writeupa**](https://vozec.fr/writeups/tweedle-dum-dee/) bićete u mogućnosti da pristupite **machine\_id**-u i **uuid** nodu, koji su **glavne tajne** koje su vam potrebne da [**generišete Werkzeug pin**](../../network-services-pentesting/pentesting-web/werkzeug.md) koji možete koristiti da pristupite python konzoli na `/console` ako je **omogućen debug režim:** ```python {ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug]._machine_id} {ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug].uuid._node} ``` {% hint style="warning" %} Imajte na umu da možete dobiti **lokalnu putanju servera do `app.py`** generišući neku **grešku** na veb stranici koja će vam **omogućiti pristup putanji**. {% endhint %} Ako je ranjivost u drugom Python fajlu, proverite prethodni trik sa Flask-om kako biste pristupili objektima iz glavnog Python fajla. {% hint style="success" %} Učite i vežbajte hakovanje AWS-a:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Učite i vežbajte hakovanje GCP-a: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Podržite HackTricks * Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)! * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Podelite hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
{% endhint %}