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-2020-28874 — CVE-2020-28874 | Kitploit
Tools/GitHubGitHub/varandinawer/cve-2020-28874
Privilege EscalationPassword AttacksVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubvarandinawer/cve-2020-28874

CVE-2020-28874

CVE-2020-28874

Repository anzeigen
vor 5 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

Dieses Repository enthält die Beschreibung der gefundenen Sicherheitslücke (CVE-2020-28874) in der Version r1270 von ProjectSend.

Vielen Dank an meine Kollegen von Entelgy Innotec Security, die mich dazu angespornt haben, besser zu werden!

CVE-2020-28874: Privilege Escalation

Beschreibung

Die Sicherheitslücke befindet sich in der Komponente zum Zurücksetzen des Passworts. Ein Angreifer kann das Passwort eines beliebigen bekannten Benutzers (z. B. admin) anhand seines Benutzernamens ändern, ohne dass ein gültiger Token erforderlich ist.

Dies ist möglich, weil das Backend die Variable $user_data nicht mit den Benutzerdaten bereinigt, die aus dem angegebenen Benutzernamen geladen wurden.

root@kitploit:~
 if (!empty($_GET['token']) && !empty($_GET['user'])) {
        $got_token	= $_GET['token'];
        $got_user	= $_GET['user'];

        /**
         * Get the user's id
         */
        $user_data = get_user_by_username($got_user);
        ....
        }

Und den Zustand dieser Variable verwendet, um den Vorgang zum Zurücksetzen des Passworts fortzusetzen.

root@kitploit:~
    if ($_POST) {
        /**
         * Clean the posted form values.
         */
        $form_type = encode_html($_POST['form_type']);
        
        switch ($form_type) {
        ----
            case 'new_password':
                if (!empty($user_data['id'])) {
                    $reset_password_new = $_POST['password'];
                    ...
                }
        ...
        }

Angriff

Dazu muss der Angreifer eine POST-Anfrage erstellen, mit einem ungültigen Parameter "token" und dem Parameter "user" mit dem Zielbenutzernamen in der Abfragezeichenfolge. Außerdem müssen im Body-Teil die Parameter “form_type” als “new_password”, “password” mit dem gewünschten neuen Passwort und csrf_token mit einem gültigen Token (vom Anmeldeformular, das Formular zum Zurücksetzen des Passworts stellt dies nicht bereit) hinzugefügt werden.

In diesem Repository finden Sie ein Python-Skript zur Ausnutzung der Sicherheitslücke und einen Docker-Container zum Testen.

Verwendung

root@kitploit:~
git clone https://github.com/varandinawer/CVE-2020-28874_CVE-2020-28875.git
cd ./CVE-2020-28874_CVE-2020-28875/docker-r1270
docker-compose up 
#To finish the process of ProjectSend installation, go to http://localhost in the browser and follow the indication to setup an admin account
cd .. 
python CVE-2020-28874.py --url http://localhost --user admin --pwd newAdminP4ssword*

Behebung

Aktualisieren Sie auf Version r1295 oder höher.

Tool herunterladen