Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #83, НОЯБРЬ 2005 г.

Жуки ColdFusion

Skakunof Alex

Хакер, номер #083, стр. 083-068-4


Как бороться? В настройках IIS поставить галочку «Проверка существования файла» для расширений .cfm и .dbm.

Еще есть один вариант получения пути, но он работает только на серверах версий 4.0х, которые уже не пользуются популярностью - сервер кэширует вызываемые страницы, а всю инфу по кэшу складывает в файл cfcache.map в одну папку с вызванным: там находятся имена вызываемых кэш-файлов в понятиях файловой системы сервера. Для примера сделай такой запрос в гугле: inurl:cfcache.map, открой любую ссылку, и ты увидишь что-то вроде этого:

[file.cfm]

Mapping=c:/cfusion/bin/cftags/\CFC197.tmp

SourceTimeStamp=05/18/1999 06:17:00 PM

[№4: доступ к отладочной информации]

Бага не очень страшная, но знать о ней надо. Вообще, за счет установок в ColdFusion Administrator'е, либо после запуска специального тэга в конце .cfm файла может выдаваться отладочная инфа, очень нужная во время разработки: время работы скрипта, GET и POST переменные, а также CGI-переменные (что-то вроде переменных окружения (см. рисунок 2)). Что можно с этого поиметь: абсолютный путь к вызванному файлу в файловой системе веб-сервера, а также имя и версию самого веб-сервера (чаще всего IIS, что косвенно говорит о типе используемой операционки). Чтобы добиться явления такого чуда, попробуй дописать к урлу параметр mode со значением debug, например, так: www.phillipsnizer.com/library/cases/lib_case368.cfm?mode=debug. Как бороться - ввести IP типа 127.0.0.1 в настройках дебага в ColdFusion Administrator.

[№5 ColdFusion Administrator]

Интересная уязвимость, свойственная только ColdFusion, как уже было сказано, тюнинг сервера осуществляется при помощи этой самой web-тулзы. При установке ColdFusion админ заходит туда так: http://127.0.0.1/CFIDE/administrator/index.cfm. Достаточно часто админ забывает отрубить доступ к ColdFusion Administrator'у с IP-адресов, отличающихся от 127.0.0.1, поэтому твоя задача заключается в нахождении ColdFusion-сервака и проверке такого урла: http://server.com/CFIDE/administrator/index.cfm (иногда приходится играться регистром в именах папок - не у всех же винды стоят). В идеале, ты должен получить картинку, похожую на рисунок 3. Плюс в том, что тебе нужен только пароль - логинов тут не предусмотрено, поэтому можно побрутфорсить. Сам пароль вводится во время инсталляции сервера (см. рис. 4).

Быстрая проверка результатов гуглового запроса google filetype:cfm дала пару сайтов, имеющих лопоухих админов - это нью-йоркская публичка (www.nypl.org) и какая-то хом-пага (www.petefreitag.com).

Как бороться - отключить доступ с нелокальных адресов в настройках ColdFusion Administrator и проставить пароль вроде UKO*8fTNDn.

[что это даст]

Тут благосклонный читатель может спросить, а что, мол, я могу поиметь с сервака, если я получил-таки доступ к ColdFusion Administrator'у? А оказывается, что вот здесь начинается самое лакомое: во-первых, если сервак крутится на IIS'е, то с помощью специального Java-апплета на вкладке Server -> Server Settings-> Settings ты можешь смело лазать по дереву файлов на серваке (см. рис. 5), затем установить ссылку Error Template на свой удаленный скрипт и после этого вызвать на сервере несуществующую страницу для запуска своего злокачественного скрипта; во-вторых, есть более универсальный способ сделать бяку - хитрым движением хвоста залить на сервак свой скрипт, то есть фактически сделать себе веб-шелл. Для этого иди на вкладку Server ->Automated Tasks-> Schedule Task, там жми на кнопку Add Scheduled Task. На этой странице введи имя задачи, лучше что-нибудь неприметное для админа (если такое вообще бывает; для примера посмотри на рисунок 6).

Назад на стр. 083-068-3  Содержание  Вперед на стр. 083-068-5