oleksandrblazhko / ai182-keosak

2 stars 0 forks source link

CW9 #31

Open tenn5 opened 1 year ago

tenn5 commented 1 year ago

Запитання 1.1

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

Назва ПЗ, URL-посилання в інтернеті (знайти через пошукову систему): Hewlett Packard Enterprise, https://www.hpe.com/us/en/home.html

Призначення ПЗ та приклади споживачів, які можуть бути зацікавлені у використанні ПЗ:

Hewlett Packard Enterprise (HPE, вимовляється Хьюлетт Паккард Ентерпрайз, Ейч Пі І) — американська IT-компанія, створена в 2015 році разом з HP Inc після розділу корпорації Hewlett-Packard на дві компанії. Успадкувала бізнес в сегменті корпоративних клієнтів — виробляє сервери, системи зберігання даних, мережі зберігання даних, мережеве обладнання, конвергетні системи, а також займається побудовою хмарних інфраструктур, системною інтеграцією та розробляє програмне забезпечення для організацій.

Запитання 1.2

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

У мережевих комутаторах Hewlett Packard Enterprise OfficeConnect 1820, 1850 і 1920S виявлено потенційну вразливість безпеки. Цю вразливість можна віддалено використати для обходу автентифікації. Компанія HPE випустила такі оновлення програмного забезпечення, щоб усунути вразливість у версіях мережевих комутаторів Hewlett Packard Enterprise OfficeConnect 1820, 1850 і 1920S: до PT.02.14; До ПК.01.22; До PO.01.21; До PD.02.22;

Запитання 1.3

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

Наведіть фрагменти прикладів уразливого програмного коду, розглянувши розділ References to Advisories, Solutions, and Tools. Наступний код має на меті переконатися, що користувач уже ввійшов у систему. Якщо ні, код виконує автентифікацію за допомогою наданого користувачем імені користувача та пароля. У разі успіху він встановлює файли cookie для входу в систему та користувача так, щоб вони «запам’ятовували», що користувач уже ввійшов. Нарешті, код виконує завдання адміністратора, якщо користувач, який увійшов у систему, має ім’я користувача «Адміністратор», як це записано в файлі cookie користувача.

(поганий код) Приклад мови: Perl мій $q = новий CGI;

if ($q->cookie('loggedin') ne "true") { if (! AuthenticateUser($q->param('username'), $q->param('password'))) { ExitError("Помилка: спочатку потрібно увійти"); } ще { // Встановити файли cookie для входу та користувача. $q->cookie( -name => 'loggedin', -value => 'true' );

$q->cookie( -name => 'user', -value => $q->param('username') ); } }

if ($q->cookie('user') eq "Адміністратор") { DoAdministratorTasks(); } На жаль, цей код можна обійти. Зловмисник може встановити файли cookie самостійно, щоб код не перевіряв ім'я користувача та пароль. Зловмисник може зробити це за допомогою HTTP-запиту, що містить такі заголовки, як:

(код атаки)

GET /cgi-bin/vulnerable.cgi HTTP/1.1 Cookie: користувач=адміністратор Cookie: loggedin=true

[тіло запиту] Встановлюючи для файлу cookie loggedin значення «true», зловмисник обходить всю перевірку автентифікації. Використовуючи значення «Адміністратор» у файлі cookie користувача, зловмисник також отримує привілеї для адміністрування програмного забезпечення.

oleksandrblazhko commented 1 year ago

Попередня оцінка за завданням 1 = 3 бали. Ще залишилося не виконаним завдання 2.