oleksandrblazhko / ai-191-krantovskyi

0 stars 0 forks source link

CW7 #21

Closed Yeetus-Christ closed 11 months ago

Yeetus-Christ commented 11 months ago
  1. Назва - DOLIBARR ERP & CRM Посилання - https://github.com/Dolibarr/dolibarr

Dolibarr ERP & CRM - це сучасний програмний пакет, який допомагає управляти діяльністю вашої організації (контакти, постачальники, рахунки, замовлення, запаси, календар...).

Це відкритий програмний продукт (написаний на PHP з опційними покращеннями на JavaScript), призначений для малих, середніх чи великих компаній, фондів та фрілансерів.

Yeetus-Christ commented 11 months ago
  1. Назва - CVE-2022-4093 Detail Опис: Атаки ін'єкції SQL можуть призвести до несанкціонованого доступу до чутливої інформації, такої як паролі, дані кредитних карток або особиста інформація користувачів. Багато високопрофільних порушень безпеки в останні роки стали результатом атак ін'єкції SQL, що призвело до репутаційних втрат та штрафів від регуляторів. У деяких випадках атакуючий може отримати постійний вхід у системи організації, що призводить до тривалої компрометації, яка може залишитися непоміченою протягом тривалого періоду. Це стосується лише версій 16.0.1 і 16.0.2. Версії 16.0.0 або нижче та 16.0.3 або вище не є вразливими.

Yeetus-Christ commented 11 months ago

3. Фрагмент коду, що містить вразливість CVE-2022-4093:


if ($value['active'] && strlen($search_[$key])) {
    $searchkeyinjsonformat = preg_replace('/"$/', '', preg_replace('/^"/', '', json_encode($search_[$key])));
    if (in_array($db->type, array('mysql', 'mysqli'))) {
        $sql .= " AND p.socialnetworks REGEXP '\"".$db->escape($db->escapeforlike($key))."\":\"[^\"]*".$db->escape($db->escapeforlike($searchkeyinjsonformat))."'";
    } elseif ($db->type == 'pgsql') {
        $sql .= " AND p.socialnetworks ~ '\"".$db->escape($db->escapeforlike($key))."\":\"[^\"]*".$db->escape($db->escapeforlike($searchkeyinjsonformat))."'";
    } else {
        // Works with all databases but not reliable because it searches only for social network code starting with the searched value
        $sql .= " AND p.socialnetworks LIKE '%\"".$db->escape($db->escapeforlike($key))."\":\"".$db->escape($db->escapeforlike($searchkeyinjsonformat))."%'";
    }
}
Yeetus-Christ commented 11 months ago

4. Посилання - https://www.researchgate.net/profile/Miroslav-Stampar/publication/258817221_Data_Retrieval_over_DNS_in_SQL_Injection_Attacks/links/5cf67bc8299bf1fb1859489f/Data-Retrieval-over-DNS-in-SQL-Injection-Attacks.pdf

  1. Пoради запобігання

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

Різні механізми санітизації, такі як magic_quotes() та addslashes(), не можуть повністю запобігти наявності чи експлуатації вразливості SQLi, оскільки деякі техніки, які використовуються разом із середовищем, можуть дозволити зловмисникам експлуатувати цю вразливість.

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

Адміністратор повинен завжди бути готовий до несанкціонованого доступу до бази даних. Гарний контрзахід - це обмеження всього доступу до бази даних за принципом найменшого привілею. Таким чином, будь-явний привілей повинен надаватися найменшому обсягу коду, необхідному для найкоротшого часу, необхідного для виконання завдання. Відповідно до цього принципу користувачі повинні мати доступ лише до інформації та ресурсів, які абсолютно необхідні.

Останнім етапом для успішного зменшення можливості DNS-ексфільтраційних атак адміністратор повинен переконатися, що виконання всіх непотрібних системних підпрограм обмежено. Якщо все впаде, зловмисникам не слід мати можливість запускати ті, які можуть викликати запити DNS.

Було проведено деяку роботу у сфері виявлення зловмисних дій у DNS-трафіку, але, в основному через відсутність практичних та масових рішень, їх тут спеціально не буде згадано.

  1. Висновок

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

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

oleksandrblazhko commented 11 months ago

Оцінка = 5 балів