к.т.н., доцент Сагун А.В., Гурін С.С,
д.т.н., проф. Кунченко-Харченко В.І., к.т.н., доцент Савельєва Т.В.
Черкаський
державний технологічний університет
Механізм захисту
автентифікації на web-ресурсі від стороннього
кібернетичного впливу
Інтерактивні web-додатки в
даний час є важливою частиною інформаційних систем різного призначення.
Основною особливістю таких систем є організація автентифікованого доступу до
них через інтернет (рис.1).

Рисунок 1 –
Топологія інформаційної мережі ПП «Тріст»
Провівши аналіз існуючого web-ресурсу
за допомогою утиліти SQLMap
[1] були виявлені вразливості ресурсу (рис.1) до SQL ін'єкцій (рис.2).

Рисунок 2 – Виявлені вразливості
Перевіривши
в ручному режимі знайдені вразливості захисту автентифікації за допомогою
наведеної нижче sql – ін’єкції, було
підтверджено існування вразливостей (рис.3).


Рисунок 3 –
Тестування вразливостей на web-ресурсі
Ін’єкція виду: SELECT * FROM `members` WHERE name = 'Stas'
OR 1 --+ ' AND password ='111' демонструє вразливість за допомогою якої зловмисник може отримати усі данні
з бази даних.
Ін’єкція виду: SELECT * FROM `members` WHERE name = '-1' UNION SELECT
1,@@datadir,3,DATABASE() показує вразливість sql – сервера до UNION - запитів за допомогою яких можна отримати інформацію про кількість
стовбців у таблиці (дані які зберігаються у цих стовбцях, дані про назву бази
даних, версію sql – серверу та абсолютний шлях до файлу бази даних на
сервері).
В якості
засобів попередження, на основі рекомендації, наведених в [2] було
запропоновано наступний засіб боротьби з ними:
$name = filter_input(INPUT_GET, 'name',
FILTER_SANITIZE_STRING,
FILTER_FLAG_STRIP_LOW);
$password = filter_input(INPUT_GET, 'password',
FILTER_SANITIZE_STRING,
FILTER_FLAG_STRIP_LOW);
Наступний скріпт є методом виправлення, відомим як
«екранування символів» [3], та дозволяє виправити іншу виявлену вразливість:
$name
= $mysqli->real_escape_string($name);
$password = $mysqli->real_escape_string($password);
Після внесення змін до
коду, розміщеному на web-сервері,
вразливості автентифікації та авторизації були ліквідовані, про що свідчать
результати роботи допомогою
утиліти SQLMap (рис.4).

Рисунок 4 – Результати повторного сканування ресурсу
утилітою SQLMap
Отже, можна
зробити висновок, що застосований при аналізі існуючого web
– ресурсу
механізм захисту автентифікації від стороннього кібернетичного впливу є дієвим.
Література
1.
SQLMap. Access mode: http://sqlmap.org/
2.
Joe Celko’s. SQL for smartest. Advanced SQL
programming. 5th edition. Elsevier. Waltham, USA. 2015, 834 p.
3.
SQL Injection Prevention Cheat Sheet. Access mode:
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet