призначення ПЗ та приклади споживачів, які можуть бути зацікавлені у використанні ПЗ;
Dolibarr ERP & CRM - це сучасний програмний пакет, який допомагає керувати діяльністю організації (контакти, пропозиції, рахунки, замовлення, запаси, порядок денний, людські ресурси, ecm, виробництво...). Це програмне забезпечення з відкритим вихідним кодом (написане на PHP з доповненнями JavaScript), призначене для малих, середніх і великих компаній, фондів і фрілансерів.
Запитання №2
Опишіть знайдену вразливість , переклавшу на українську розділ Description.
Атаки SQL-ін'єкцій можуть призвести до несанкціонованого доступу до конфіденційних даних, таких як паролі, дані кредитних карток або особиста інформація користувачів. Багато гучних витоків даних за останні роки були результатом атак SQL-ін'єкцій, що призвело до втрати репутації та штрафів з боку регуляторних органів. У деяких випадках зловмисник може отримати постійний бекдор в системи організації, що призводить до довготривалої компрометації, яка може залишатися непоміченою протягом тривалого періоду. Це стосується лише версій 16.0.1 та 16.0.2. На версії 16.0.0 і нижче та 16.0.3 і вище це не впливає
Запитання №3
Вразливий код, приклад 1:
$sql .= " AND p.socialnetworks REGEXP '\"".$db->escapeforlike($db->escape($key))."\":\"[^\"]*".$db->escapeforlike($db->escape($searchkeyinjsonformat))."'";
Його виправлення:
$sql .= " AND p.socialnetworks REGEXP '\"".$db->escape($db->escapeforlike($key))."\":\"[^\"]*".$db->escape($db->escapeforlike($searchkeyinjsonformat))."'";
Вразливий код, приклад 2:
$searchalgo .= ($searchalgo ? ' OR ' : '')."wp.title LIKE '%".$db->escapeforlike($db->escape($searchstring))."%' OR wp.description LIKE '%".$db->escapeforlike($db->escape($searchstring))."%'";
$searchalgo .= ($searchalgo ? ' OR ' : '')."wp.keywords LIKE '".$db->escapeforlike($db->escape($searchstring)).",%' OR wp.keywords LIKE '% ".$db->escapeforlike($db->escape($searchstring))."%'";
Його виправлення:
$searchalgo .= ($searchalgo ? ' OR ' : '')."wp.title LIKE '%".$db->escape($db->escapeforlike($searchstring))."%' OR wp.description LIKE '%".$db->escape($db->escapeforlike($searchstring))."%'";
$searchalgo .= ($searchalgo ? ' OR ' : '')."wp.keywords LIKE '".$db->escape($db->escapeforlike($searchstring)).",%' OR wp.keywords LIKE '% ".$db->escape($db->escapeforlike($searchstring))."%'";
Запитання №4
Переклад 8 Prevention tips:
8 Поради щодо запобігання
Щоб уникнути атак, описаних у цій статті, запобігання недолікам SQLi повинно мати найвищий пріоритет. Використання підготовлених операторів вважається найбезпечнішим запобіжним заходом. Підготовлені оператори гарантують, що зловмисники не зможуть змінити намір запиту, навіть якщо в нього будуть вставлені інші команди SQL.
Різні механізми санітарної обробки, такі як magic_quotes() та addslashes(), не можуть повністю запобігти наявності або використанню SQLi уразливості, оскільки певні методи, що використовуються в поєднанні з умовами навколишнього середовища, можуть дозволити зловмисникам використати уразливість. Замість цього, якщо підготовлені оператори не використовуються, рекомендується використовувати перевірку вводу, при якій неправильний ввід відхиляється, а не екранується або модифікується.
Адміністратор завжди повинен бути готовим до несанкціонованого доступу до баз даних. Хорошим контрзаходом є обмеження всього доступу до бази даних до найменших привілеїв. Таким чином, будь-який привілей повинен надаватися на найменшу кількість коду, необхідну для виконання роботи протягом найкоротшого періоду часу. Дотримуючись цього принципу, користувачі повинні мати доступ лише до тієї інформації та ресурсів, які є абсолютно необхідними.
На останньому етапі, для успішного запобігання можливим атакам на DNS, адміністратор повинен переконатися, що виконання всіх непотрібних системних підпрограм заблоковано. Якщо це не вдасться, зловмисники не зможуть запустити ті, що можуть спровокувати DNS-запити.
Існує певна робота в області виявлення зловмисних дій в DNS-трафіку, але, в основному, через відсутність практичних і загальноприйнятих рішень, вони не будуть спеціально згадуватися в цьому документі.
Переклад 9 Conclusion :
9 Висновок
У цій статті було показано, як зловмисники можуть використовувати техніку обходу DNS для значного прискорення отримання даних, коли можна використовувати лише відносно повільні методи SQLi. Крім того, кількість необхідних запитів до вразливого веб-сервера різко зменшується, що робить його менш шумним.
Через вимогу контролю над сервером імен домену, більшість зловмисників, скоріш за все, не будуть використовувати цей метод. З точки зору реалізації все було просто, тому не можна ігнорувати практичну цінність цього рішення. Реалізована підтримка всередині sqlmap повинна зробити її загальнодоступною для подальших досліджень.
Запитання №1
Опишіть ПЗ, в якому знайдено вразливість:
DOLIBARR ERP & CRM: URL-посилання.
Dolibarr ERP & CRM - це сучасний програмний пакет, який допомагає керувати діяльністю організації (контакти, пропозиції, рахунки, замовлення, запаси, порядок денний, людські ресурси, ecm, виробництво...). Це програмне забезпечення з відкритим вихідним кодом (написане на PHP з доповненнями JavaScript), призначене для малих, середніх і великих компаній, фондів і фрілансерів.
Запитання №2
Опишіть знайдену вразливість , переклавшу на українську розділ Description.
Атаки SQL-ін'єкцій можуть призвести до несанкціонованого доступу до конфіденційних даних, таких як паролі, дані кредитних карток або особиста інформація користувачів. Багато гучних витоків даних за останні роки були результатом атак SQL-ін'єкцій, що призвело до втрати репутації та штрафів з боку регуляторних органів. У деяких випадках зловмисник може отримати постійний бекдор в системи організації, що призводить до довготривалої компрометації, яка може залишатися непоміченою протягом тривалого періоду. Це стосується лише версій 16.0.1 та 16.0.2. На версії 16.0.0 і нижче та 16.0.3 і вище це не впливає
Запитання №3
Вразливий код, приклад 1:
Його виправлення:
Вразливий код, приклад 2:
Його виправлення:
Запитання №4
8 Поради щодо запобігання
Щоб уникнути атак, описаних у цій статті, запобігання недолікам SQLi повинно мати найвищий пріоритет. Використання підготовлених операторів вважається найбезпечнішим запобіжним заходом. Підготовлені оператори гарантують, що зловмисники не зможуть змінити намір запиту, навіть якщо в нього будуть вставлені інші команди SQL.
Різні механізми санітарної обробки, такі як magic_quotes() та addslashes(), не можуть повністю запобігти наявності або використанню SQLi уразливості, оскільки певні методи, що використовуються в поєднанні з умовами навколишнього середовища, можуть дозволити зловмисникам використати уразливість. Замість цього, якщо підготовлені оператори не використовуються, рекомендується використовувати перевірку вводу, при якій неправильний ввід відхиляється, а не екранується або модифікується.
Адміністратор завжди повинен бути готовим до несанкціонованого доступу до баз даних. Хорошим контрзаходом є обмеження всього доступу до бази даних до найменших привілеїв. Таким чином, будь-який привілей повинен надаватися на найменшу кількість коду, необхідну для виконання роботи протягом найкоротшого періоду часу. Дотримуючись цього принципу, користувачі повинні мати доступ лише до тієї інформації та ресурсів, які є абсолютно необхідними.
На останньому етапі, для успішного запобігання можливим атакам на DNS, адміністратор повинен переконатися, що виконання всіх непотрібних системних підпрограм заблоковано. Якщо це не вдасться, зловмисники не зможуть запустити ті, що можуть спровокувати DNS-запити.
Існує певна робота в області виявлення зловмисних дій в DNS-трафіку, але, в основному, через відсутність практичних і загальноприйнятих рішень, вони не будуть спеціально згадуватися в цьому документі.
9 Висновок
У цій статті було показано, як зловмисники можуть використовувати техніку обходу DNS для значного прискорення отримання даних, коли можна використовувати лише відносно повільні методи SQLi. Крім того, кількість необхідних запитів до вразливого веб-сервера різко зменшується, що робить його менш шумним.
Через вимогу контролю над сервером імен домену, більшість зловмисників, скоріш за все, не будуть використовувати цей метод. З точки зору реалізації все було просто, тому не можна ігнорувати практичну цінність цього рішення. Реалізована підтримка всередині sqlmap повинна зробити її загальнодоступною для подальших досліджень.