hacktricks/generic-methodologies-and-resources/python/python-internal-read-gadgets.md
2024-02-11 02:13:58 +00:00

4.8 KiB

Vifaa vya Kusoma vya Ndani ya Python

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Mambo tofauti ya udhaifu kama Python Format Strings au Uchafuzi wa Darasa inaweza kukuruhusu kusoma data ya ndani ya python lakini hautakuruhusu kutekeleza nambari. Kwa hivyo, mtaalamu wa kudukua atahitaji kutumia vibali hivi vya kusoma ili kupata mamlaka nyeti na kuongeza udhaifu.

Flask - Soma funguo za siri

Ukurasa mkuu wa programu ya Flask labda utakuwa na kifaa cha kawaida cha app ambapo siri hii imepangwa.

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

Katika kesi hii, niwezekana kupata kifaa chochote cha kufikia vitu vya kimataifa kutoka kwenye ukurasa wa Kuepuka sanduku za mchanga za Python.

Katika kesi ambapo hitilafu iko kwenye faili tofauti ya python, unahitaji kifaa cha kusafiri kwenye faili ili kupata faili kuu ili kufikia kifaa cha kimataifa app.secret_key ili kubadilisha Flask secret key na kuweza kuongeza mamlaka kwa kujua funguo hizi.

Payload kama hii kutoka kwenye andiko hili:

{% code overflow="wrap" %}

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

{% endcode %}

Tumia mzigo huu kubadilisha app.secret_key (jina katika programu yako linaweza kuwa tofauti) ili uweze kusaini kuki za flask zenye mamlaka zaidi.

Werkzeug - machine_id na node uuid

Kwa kutumia mzigo huu kutoka kwenye andiko hili utaweza kupata machine_id na uuid node, ambazo ni siri kuu unazohitaji kuunda pini ya Werkzeug unayoweza kutumia kufikia konsoli ya python kwenye /console ikiwa debug mode imeamilishwa:

{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" %} Tafadhali kumbuka kuwa unaweza kupata njia ya seva ya ndani kwa app.py kwa kuzalisha kosa fulani kwenye ukurasa wa wavuti ambao utakupa njia hiyo. {% endhint %}

Ikiwa udhaifu uko kwenye faili tofauti ya python, angalia mbinu ya Flask ya awali ya kupata vitu kutoka kwenye faili kuu ya python.

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: