AdRotate, программное обеспечение для показа баннеров, написанное на
Perl, использует DBI с mysql драйвером для доступа к базе данных. С инструментом поставляется модуль AdRotate.pm, который содержит подпрограмму 'get_input' для обработки данных, полученные от клиента POST или GET методом.
К этой подпрограмме модуля обращаются многие сценарии
AdRotate и результаты хранятся в ассоциативном массиве, названным 'IN'. AdRotate строит очень много SQL запросов с данными, принятыми прямо от 'IN' без проверки правильности. Таким образом
через AdRotate можно управлять базой данных сервера. Можно изменить данные в базе и затем
выполнить произвольные команды на сервере, обманывая вызовы OPEN(), используя известную уловку (второй аргумент во всех запросах open()). Эти команды будут
выполняться c правами процесса Web сервера (наиболее вероятно 'nobody', 'www', и т.д.).
Уязвимость найдена в AdRotate Pro
Подробнее о том как вводить команды в SQL сервер, можно узнать здесь: