Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БІКС 2015_1 / lec_2 BIKS.doc
Скачиваний:
76
Добавлен:
12.02.2016
Размер:
465.92 Кб
Скачать

5.5.2. Переспрямування введення-виведення

Переспрямування введення-виведення даних покладено в основу більш доскона­лих механізмів, на кшталт конвеєрів. Типова конструкція переспрямування вве­дення-виведення має такий вигляд:

< file

Якщо в текстове поле ввести file, то програмі буде передано ім'я файлу, а як­що < file — його вміст. Права доступу до такого файлу визначаються не права­ми користувача, який вводить цю конструкцію, а правами програми (або того ко­ристувача, від імені якого вона діє). Як і в ситуації з конвеєром, рекомендують проводити тестування поведінки програмних продуктів після введення таких кон­струкцій у будь-які поля введення.

5.5.3. Спеціальні символи

Широке поняття «спеціальні символи» у цьому підрозділі буде розглянуто від­носно використання таких символів у специфікаціях або шаблонах імен файлів. Здебільшого проблеми, пов'язані з неправильним використанням спеціальних символів, створюють не програмісти, а користувачі. Утім наслідки таких помилок можуть бути досить серйозними.

З огляду на це ще раз нагадаємо всім відомі угоди щодо побудови шаблонів імен файлів, які діють у командних інтерпретаторах різних ОС.

Багато помилок оброблення рядків знаходили у серверах різних мережних протоколів. Наведемо приклади неправильного оброблення спеціальних симво­лів. Зауважимо, що веб-адреси в наведених далі прикладах — лише ілюстрації, які жодним чином не стосуються реальних ресурсів в Інтернеті.

Існувала відома помилка — після додавання символу крапки до URL сценарію замість результату його роботи відображався вихідний текст цього сценарію [15].

Використання замість символу крапки його шістнадцяткового подання (%2е) давало той самий результат.

Потім (в інших серверах) абсолютно аналогічну помилку було знайдено після додавання до URL шістнадцяткового подання символу пробілу (%20).

Використавши в URL додатковий символ скісної риски (/), можна обійти об­меження доступу до каталогу (http://www.target.eom//top__secret/index.html).

В деяких серверах використання посилання на батьківський каталог (..) дава­ло можливість вийти за межі частини файлової системи, відведеної для доступу з Інтернету (http://www.target.com/../).

Наведений перелік не є повним. І хоча всі зазначені помилки вже давно ви­правлено, не можна гарантувати, що помилки такого типу в подальшому ніколи не виникатимуть.

5.6. Люки

Як уже зазначалося, люки (або «чорні ходи») — це недокументовані функції про­грамного забезпечення, які дають змогу здійснювати проникнення в систему. Програмісти можуть впроваджувати люки задля тестування та налагодження про­грам, а потім залишати їх у кінцевому продукті через неуважність або з метою по­дальшого використання ресурсів систем чи збирання інформації. Безумовно, ви­явлення люків у програмних продуктах завдає шкоди репутації розробника, тому їх не залишають або ретельно приховують. Крім того, люки можуть впроваджува­ти спеціально розроблені шкідливі програмні засоби (віруси, «троянські коні») або зловмисники в результаті атаки.

У цьому розділі ми розглядаємо помилки програмного забезпечення, тому згадаємо лише ті люки, які вважають ненавмисно впровадженими. У наступному розділі, присвяченому шкідливому програмному забезпеченню, йтиметься про люки, які впроваджують навмисно.