SQL-инъекция в phpAdsNew

2005-01-13T00:00:00
ID SECURITYVULNS:DOC:7559
Type securityvulns
Reporter Securityvulns
Modified 2005-01-13T00:00:00

Description


SQL-инъекция в phpAdsNew

Автор: Григоров Роман Дата: Январь 13, 2005 e-mail: <roman at mosk dot ru> Icq: 157535663


Уязвимый продукт: phpAdsNew Уязвимые версии: 2.0 и ниже Опасность: критическая Software URL: http://www.phpadsnew.com


Описание: Уязвимость позволяет сменить логин и пароль администратора в популярном ротаторе баннеров: phpAdsNew.


Детали: В скрипте logout.php (один из скриптов панели администратора) вызывается функция phpAds_Logout(). Эта функция в свою очередь вызывает phpAds_SessionDataDestroy(). А эта функция в свою очередь вызывает phpAds_dbQuery со следующим аргументом: "DELETE FROM ".$phpAds_config['tbl_session']." WHERE sessionid='".$HTTP_COOKIE_VARS['sessionID']."'"

sessionID - содержащийся в кукисах, пришедших от клиента - не проверяется, но вставляется в MySQL запрос.

Таким образом, вызвав скрипт: http://SERVER/[phpAdsNewFolder]/admin/logout.php И отправив ему специально сформированный кукис, в случае если на сервере установлен MySQL 4.0 и выше можем выполнить произвольный MySql запрос.

Поля admin и admin_pw таблицы phpads_config содержащие логин и md5 hash пароля соответственно атакующего конечно же не заинтересуют.