В плагине Ad Widget для CMS WordPress была обнаружена уязвимость Local File Inclusion.

Ad Widget позволяет пользователям легко загружать рекламные баннеры на sidebar панель сайта. Согласно wordpress.org, Ad Widget имеет более 30 000 активных установок.

Запросив специально созданный URL-адрес, злоумышленник может заставить удаленный сервер выполнить php-файл по своему выбору. Пользователь, запрашивающий URL-адрес, должен быть зарегистрирован в админ-консоли WordPress, однако злоумышленник, используя различные методы социальной инженерии/фишинга может заставить администратора запросить такой URL-адрес.Указанный файл php, и любой действительный PHP-код будет выполнен. Если в настройке php на сервере установлена ​​опция «allow_url_include = 1», эта атака может быть расширена для выполнения php-файла с любого удаленного URL-адреса.

Пример эксплуатации данной уязвимости:

File: ad-widget\views\modal\index.php
Fucntion: require "$page.php";
Variable: $_GET['step'];
Sample URL:
http://vulnerablesite.com/wp-content/plugins/ad-widget/views/modal/?step=../../../../../../../etc/pаsswd%00
File: ad-widget\views\modal\index.php
---------
38 $page = @$_GET['step'];
...
68 require "$page.php";
---------

Такие атаки блокируются с помощью сигнатурного анализа. В случае обфускации пейлоада, запрос обрабатывается модулем искусственного интеллекта Nemesida WAF, распознающего аномалию в параметре запроса и позволяющему выявить эксплуатацию уязвимости.