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:
- Ikiwa unataka kuona kampuni yako inayotangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi wa PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa kipekee wa NFTs
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
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:
- Ikiwa unataka kuona kampuni yako inatangazwa kwenye HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua The PEASS Family, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud repos za github.