BugTraq #12

Xakep, номер #036, стр. 036-008-3


Уязвимость прикрывается добрым именем CGI скрипта ibillpm.pl, который заточен на работу с паролями пользователей (member zone'ы, к примеру). По умолчанию пароль формируется из переменной MASTER_ACCOUNT (вполне понятно, аккаунт босса) с добавлением двух букв из нижнего реестра. MASTER_ACCOUNT без труда обнаруживается просмотром HTML сорцов sign-up страницы. А умники и умницы уже пишут маленькие скриптики по брутфорсу системы POST-методом и фактически получают контроль над .htpasswd-файлом: могут удалять/добавлять юзеров, менять их пароли. Приятным пустяком оказывается то, что при внесении изменений данное действие никак не логгируется, а при брутфорсе - попытки не отмечаются в error.log'e, т.к. на все запросы появляется ответ 200.

Нашедшим дыру был сделан не совсем логичный вывод о том, что баг актуален только для *nix систем. На самом деле тут нет OS-привязки: для реализации требуется лишь установленный Перл, который, как вы знаете, одинаково успешно обходится с win и *nix.

Эксплойт прилагается к BT постингу, хотя и не является идеальным.

Переполнение буфера в ActivePerl perliis.dll

BT id 3526

Класс Boundary Condition Error

Тип эксплойтинга - удаленный

Дата 15.11.01

Уязвимый продукт Activestate ActivePerl 5.6.1.629 (и ранние версии) на базе MS IIS (4.0/5.0)

Автор NSFOCUS Security Team

Последний каприз использования перла в винде - запуск малюсеньких IRC клиентов, вроде sIrc'a из win-консоли на базе ActivePerl'a (всего 24K кода). На какое-то время кажется серьезным конкурентом всей ircii'шной братии и даже X-win чудесам. С возвращением в реальность натыкаешься на BT постинги о ненадежности проверенного боем AP'a :(.

PerlIIS.dll - библиотечка, входящая в поставку ActivePerl, предусматривающая организацию perl-поддержки для MS IIS серванта. Либо впадает в кому, унося с собой весь IIS после запроса перл-скрипта с запредельной длинной URL'a. Т.е. в случае посылки сверхдлинного УРЛ-запроса perlIIS.dll совершит обращение к strcpy(), совместив данное действие с пополнением буфера. А там, где пополнение, там и переполнение... При особо умелом составлении URL-запросов атакующий может выполнить определенный код в системе. И в имеющемся случае win'a никакие nobody не спасут: system подло отдаст все твои секреты :(. Эксплойт прост:

$ lynx http://host/cgi-bin/`perl -e 'print "A" x 360'`.pl

Приятен тот факт, что в течение недели со дня отправки инфы по багу в AP появился новый безопасный релиз - билд 630.

Назад на стр. 036-008-2  Содержание