SQL Injection zranitelnost WP Statistics

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).

Čtěte  XSS zranitelnost v pluginu bbPress

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

About The Author

Related posts

1 Comment

Leave a Reply

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *