У даній лабораторній роботі ми розглянемо вразливість web-додатків типу SQL Injection. Для цього перейдемо по посиланню: http://penlab.alwaysdata.net/lab_05/
Рисунок 1 – Робоче вікно
Нам доступно поле для пошуку марки авто за його бренду.
1) Вкажемо в поле для пошуку ID автомобільного бренду "Mazda" (цифру 3) і відправимо запит.
Рисунок 2 – Пошук авто за ID
У відповідь ми отримаємо марку даного авто. У нашому випадку це "Xedos 6".
2) А тепер спеціально допустимо помилку в запиті і вкажемо в полі пошуку 3 '. У результаті ми побачимо наступне.
Рисунок 3 – Вікно-відповідь про помилку
Дана помилка може говорити про те, що вхідні дані не перевіряються і потрапляють в sql-запит, як є.
3) Тепер вкажемо в запиті цифру 4.
Рисунок 4 – Вікно пошуку за запитом 4
Даний запит коректно відпрацював, але нічого не повернув.
Отримані нами результати говорять про те, що дане web-додаток може бути вразливе до атаки типу SQL Injection.
4) Відправимо наступний запит 4 union select version ().
Рисунок 5 – Вікно пошуку за запитом 4 union select version ()
В результаті виконання даного запиту ми отримали версію СУБД. Тепер ми з впевненістю можемо сказати, що на сайті присутня уразливість типу SQL Injection.
Давайте розкрутимо її. Для початку одержимо імена доступних схем.
Рисунок 6 – Вікно пошуку для отримання імен доступних схем
Тепер отримаємо імена таблиць у схемі penlab_lab_05.
Рисунок 7 – Вікно пошуку для отримання імен таблиць
Потім отримаємо поля таблиці user.
Рисунок 8 – Вікно пошуку користувачів
І, врешті-решт, отримаємо значення полів login і password.
Рисунок 9 – Вікно пошуку логіна та пароля
Отже, ми отримали бажану конфіденційну інформацію.