SQL Injection zranitelnost WP Statistics - Affinite.io CZ

V rámci projektu výzkumu zranitelnosti pro firewall Sucuri byly auditovány oblíbené open source projekty a hledány bezpečnostní problémy.

Během práce na pluginu WP Statistics, byla objevena zranitelnost SQL Injection. Tento plugin je aktuálně nainstalován na více než 300 000 webových stránkách.

Jste v nebezpečí?

Tato zranitelnost je způsobena nedostatečnou kontrolou dat, poskytnutých uživatelem. Útočník s účtem na úrovni odběratele by mohl získat citlivá data a za příhodných okolností/konfigurace dokonce ohrozit instalaci celého WordPressu.

Pokud máte nainstalovanou zranitelnou verzi a vaše stránky umožňují registraci uživatele, jste určitě v nebezpečí.

Technické údaje

WordPress poskytuje rozhraní API, které umožňuje vývojářům vytvářet obsah, který mohou uživatelé vkládat na určité stránky pomocí jednoduchého shortcodu:

[shortcode atts_1=”test” atts_2=”test”]

Krom jiných funkcí, WP Statistics umožňuje administrátorům získat podrobné informace týkající se počtu návštěv právě tím, že zavolá níže uvedený shortcode:

Jak vidíte na obrázku výše, některé atributy shortcodu wpstatistics jsou předávány jako parametry pro důležité funkce, a to by nemělo být problémem, pokud by byly tyto parametry očištěny, ale jak uvidíme, tohle není ten případ.

Jedna ze zranitelných funkcí wp_statistics_searchengine_query() v souboru „includes/functions/functions.php“ je přístupná prostřednictvím funkce WordPress ‚AJAX díky základní funkci wp_ajax_parse_media_shortcode().

Tato funkce nekontroluje další oprávnění, což umožní registrovaným uživatelům provádět tento shortcode a vkládat škodlivé údaje do jeho atributů. (Tento útokový vektor byl také popsán zde).

V mnoha místech v kódu jsou uživatelské vstupy pocházející z atributů shortcodu wpstatistics’ zahrnuty do dotazů SQL, aniž by byly vyčištěny. Níže je jeden z dotazů, které byly využitelné:

Funkce wp_statistics_searchengine_query() vrací v podstatě stejnou hodnotu jako ta zadaná v poskytovateli shortcode atributů a její obsah je přidán přímo do dotazu raw SQL query.

Aktualizujte co nejdříve

Pokud používáte zranitelnou verzi tohoto pluginu, aktualizujte jej co nejdříve!

V případě, že to nemůžete udělat, důrazně doporučujeme využívat Sucuri Firewall nebo ekvivalentní technologii, aby tuto chybu zabezpečení opravdu opravila.

Zdroj: https://blog.sucuri.net/2017/06/sql-injection-vulnerability-wp-statistics.html

WooComerce školení 18.7. 2017 Praha
WooComerce školení 18.7. 2017 Praha
04 Čvc, 2017
Tlačítko pro uložení článku vždy po ruce
Tlačítko pro uložení článku vždy po ruce
05 Čvc, 2017

Komentáře nejsou povoleny.

Looking for something?