01 Бер, 2023

Недостатній тайм-аут сеансу

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

Приклад уразливого коду на різних мовах програмування:


В PHP:

				
					ini_set('session.gc_maxlifetime', 3600); // set session timeout to 1 hour
session_start();

				
			


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

• В Java:

				
					HttpSession session = request.getSession();
session.setMaxInactiveInterval(1800); // set session timeout to 30 minutes

				
			


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

• в Python:

				
					from flask import Flask, session
app = Flask(__name__)
app.config['PERMANENT_SESSION_LIFETIME'] = 1800 # set session timeout to 30 minutes

				
			


У цьому прикладі тайм-аут сеансу встановлений рівним 30 хвилинам. Однак цього може бути недостатньо для забезпечення належного захисту сеансу користувача. Зловмисник потенційно може використовувати атаку з перехопленням сеансу, щоб отримати контроль над сеансом користувача і отримати доступ до його облікового запису до закінчення часу очікування сеансу.

Приклади використання Недостатнього часу очікування сеансу

Session Hijacking:

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

Фіксація сеансу:

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

Крадіжка даних:

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

Поглинання облікового запису:

Зловмисник може використовувати недостатній час очікування сеансу, щоб заволодіти обліковим записом користувача, отримавши доступ до його сеансу після того, як користувач вийшов з системи або закрив свій браузер. Потім зловмисник може змінити пароль користувача і отримати контроль над обліковим записом.

Шкідливі дії:

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

Методи підвищення привілеїв для Недостатній тайм-аут сеансу

Фіксація сеансу:

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

Session Hijacking:

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

Міжсайтовий скриптінг (XSS):

Зловмисник може використовувати XSS для впровадження шкідливого коду на веб-сторінку, яка потім може бути виконаний іншими користувачами, просматривающими цю сторінку. Якщо користувач переглядає сторінку, має активний сеанс, зловмисник потенційно може використовувати недостатній час очікування сеансу, щоб отримати контроль над сеансом користувача та підвищити його привілеї.

Підробка міжсайтових запитів (CSRF):

Зловмисник може використовувати CSRF, щоб обманом змусити користувача виконувати шкідливі дії у веб-застосунку без його відома. Якщо у користувача активний сеанс, зловмисник потенційно може використовувати недостатній час очікування сеансу, щоб отримати контроль над сеансом користувача та підвищити його привілеї.

Brute-Force Attacks:

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

Загальна методологія та контрольний список із-за недостатнього часу очікування сеансу

Методологія:

  1. Визначте механізм управління сеансами, що використовується в додатку. Це можуть бути файли cookie, переписування URL-адрес або комбінація того й іншого.

  2. Визначте значення часу очікування сеансу, що використовується додатком. Це можна зробити, проаналізувавши вихідний код додатку або перехопивши та перевіривши файл cookie сеансу.

  3. Спробуйте продовжити тривалість сеансу, відправляючи запити в додаток через регулярні проміжки часу. Це можна зробити за допомогою таких інструментів, як Burp Suite або OWASP ZAP.

  4. Вийдіть з програми і дочекайтеся закінчення часу очікування сеансу. Потім спробуйте повторно пройти аутентифікацію і отримати доступ до захищених ресурсів, використовуючи ідентифікатор сеансу і з закінченим терміном дії.

  5. Спроба перехопити активний сеанс шляхом крадіжки ідентифікатора сеансу увійшов в систему користувача. Це можна зробити, перехопивши файл cookie сеансу або виконавши атаку з фіксацією сеансу.

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

  7. Перевірте уразливості при перехопленні сеансу, спробувавши вкрасти ідентифікатор сеансу увійшов в систему користувача і використовувати його для отримання доступу до захищених ресурсів.

  8. Перевірте наявність вразливостей міжсайтового скриптинга (XSS), які можуть бути використані для крадіжки ідентифікаторів сеансів або виконання інших шкідливих дій.

  9. Перевірка на наявність вразливостей для підробки міжсайтових запитів (CSRF), які можуть використовуватися для виконання дій від імені користувача без його відома.

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

Контрольний список:

  1. Визначте механізм управління сеансами, використовуваний додатком (файли cookie, перезапис URL-адрес і т. д.).

  2. Визначте значення часу очікування сеансу, що використовується додатком.

  3. Переконайтеся, що значення часу очікування сеансу встановлено правильно і виконується примусово.

  4. Спробуйте продовжити активний сеанс понад його значення тайм-ауту.

  5. Вийдіть з програми і дочекайтеся закінчення терміну дії сеансу, а потім спробуйте повторно пройти авторизацію, використовуючи ідентифікатор сеансу і з закінченим терміном дії.

  6. Спроба перехопити активний сеанс шляхом крадіжки ідентифікатора сеансу увійшов в систему користувача.

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

  8. Перевірте уразливості при перехопленні сеансу, спробувавши вкрасти ідентифікатор сеансу увійшов в систему користувача і використовувати його для отримання доступу до захищених ресурсів.

  9. Перевірте наявність вразливостей міжсайтового скриптинга (XSS), які можуть бути використані для крадіжки ідентифікаторів сеансів або виконання інших шкідливих дій.

  10. Перевірка на наявність вразливостей для підробки міжсайтових запитів (CSRF), які можуть використовуватися для виконання дій від імені користувача без його відома.

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

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

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

  14. Документуйте всі виявлені вразливості і надайте рекомендації з усунення.

Набір інструментів для експлуатації Недостатній тайм-аут сеансу

Автоматизовані інструменти:

  • Burp Suite: Потужний інструмент тестування безпеки веб-додатків, який можна використовувати для перевірки широкого спектру загроз, включаючи недостатній час очікування сеансу. Він включає в себе ряд автоматизованих інструментів і функцій для виявлення і використання вразливостей.

  • OWASP ZAP: Інструмент тестування безпеки веб-додатків з відкритим вихідним кодом, який можна використовувати для автоматичного сканування, виявлення вразливостей і тестування експлойтів.

  • Nmap: Інструмент дослідження мережі та аудиту безпеки, який можна використовувати для сканування відкритих портів, виявлення вразливостей і їх використання.

  • Metasploit Framework: Інструмент тестування на проникнення, який включає в себе ряд експлойтів і корисних навантажень для тестування уразливостей у веб-додатках і системах.

  • sqlmap: Автоматизований інструмент для тестування вразливостей SQL-ін'єкцій у веб-додатках.

  • Acunetix: Сканер безпеки веб-додатків, який можна використовувати для перевірки широкого спектру загроз, включаючи недостатній час очікування сеансу.

  • Netsparker: Сканер безпеки веб-додатків, який використовує передові методи сканування для виявлення і використання вразливостей, включаючи недостатній час очікування сеансу.

  • Vega: Інструмент тестування безпеки веб-додатків з відкритим вихідним кодом, який можна використовувати для пошуку вразливостей і їх використання.

  • AppScan: Інструмент тестування безпеки веб-додатків, який можна використовувати для пошуку вразливостей і їх використання.

  • Skipfish: Автоматизований інструмент тестування безпеки веб-додатків, який може використовуватися для виявлення і використання вразливостей, включаючи недостатній час очікування сеансу.

Ручні інструменти:

  • Browser extensions: Доступно кілька розширень браузера, які можна використовувати для управління файлами cookie і ідентифікаторами сеансів, таких як EditThisCookie, Cookie Manager+ і Cookie-Editor.

  • cURL: Інструмент командного рядка для передачі даних з використанням різних протоколів, включаючи HTTP. Його можна використовувати для управління файлами cookie і ідентифікаторами сеансів.

  • Fiddler: Інструмент веб-налагодження, який можна використовувати для перевірки та управління веб-трафіком, включаючи файли cookie та ідентифікатори сеансів.

  • Wireshark: Аналізатор мережевих протоколів, який можна використовувати для збору і аналізу мережевого трафіку, включаючи файли cookie та ідентифікатори сеансів.

  • Tamper Data: Плагін для браузера, який можна використовувати для перехоплення і зміни HTTP-запитів, включаючи файли cookie та ідентифікатори сеансів.

  • Charles Proxy: Проксі-сервер веб-налагодження, який можна використовувати для перевірки та управління веб-трафіком, включаючи файли cookie та ідентифікатори сеансів.

  • Selenium: Платформа веб-тестування, яку можна використовувати для автоматизації взаємодії з браузером і перевірки на наявність вразливостей, включаючи недостатній час очікування сеансу.

  • Curlie: Інструмент командного рядка для передачі даних з використанням різних протоколів, включаючи HTTP. Його можна використовувати для управління файлами cookie і ідентифікаторами сеансів.

  • Sqlninja: Інструмент для використання вразливостей SQL-ін'єкцій у веб-додатках.

  • BeEF: Платформа експлуатації браузера, яка може використовуватися для перевірки на наявність ряду недоліків, включаючи недостатній час очікування сеансу.

Середній бал CVSS недостатній тайм-аут сеансу стека

Загальна система оцінки вразливостей (CVSS) забезпечує основу для оцінки серйозності вразливостей за шкалою від 0 до 10, причому більш високі бали вказують на більш серйозні уразливості. Оцінка враховує безліч факторів, таких як складність атаки, можливість використання і вплив на конфіденційність, цілісність і доступність вразливою системи.

Оцінка вразливостей CVSS, пов'язаних з недостатнім часом очікування сеансу, може змінюватись в залежності від специфіки уразливості, такий як тип використовуваного механізму управління сеансом і вплив зловмисника, здатного використовувати уразливість. Як правило, проблеми, пов'язані з недостатнім часом очікування сеансу, оцінюються як середньої або високої ступеня серйозності, при цьому оцінки CVSS варіюються від 4.0 до 9.0 або вище.

Однак важливо відзначити, що оцінка CVSS повинна бути лише одним з факторів, що враховуються при оцінці серйозності уразливості. Слід також брати до уваги інші фактори, такі як ймовірність використання уразливості в реальному сценарії і потенційний вплив на порушену систему.

Загальна перерахування слабких місць (CWE)

• CWE-613: недостатнє закінчення строку дії сеансу – ця вразливість виникає, коли веб-додаток не завершує належним чином користувальницькі сеанси через певний час, залишаючи їх уразливими для атак з перехопленням сеансу.

• CWE-310: проблеми з криптографією – ця вразливість виникає, коли веб-додаток використовує слабкі або небезпечні методи шифрування для захисту даних сеансу, що полегшує зловмисникам доступ до інформації сеансу і маніпулювання нею.

• CWE-807: залежність від ненадійних вхідних даних при прийнятті рішення про безпеки – ця слабкість виникає, коли веб-додаток покладається на ненадійні вхідні дані для прийняття рішень про управління сеансом, що потенційно дозволяє зловмисникам обходити захист сеансу.

• CWE-829: включення функцій з ненадійною області управління – ця слабкість виникає, коли веб-додаток включає функції управління сеансами з ненадійного джерела, що робить його уразливим для атак, що використовують ненадійний код.

• CWE-522: недостатньо захищені облікові дані – ця вразливість виникає, коли дані сеансу не захищені належним чином, що робить облікові дані і іншу конфіденційну інформацію уразливими для крадіжки або маніпулювання.

• CWE-693: збій механізму захисту – ця вразливість виникає, коли засоби захисту управління сеансами виходять з ладу із-за помилок реалізації, залишаючи додаток уразливим для атак.

• CWE-799: Неправильний контроль частоти взаємодії – ця слабкість виникає, коли веб-додаток належним чином не обмежує частоту взаємодії з користувачем, що полегшує зловмисникам використання вразливостей сеансу.

• CWE-613: недостатнє закінчення строку дії сеансу – ця вразливість виникає, коли веб-додаток не завершує належним чином користувальницькі сеанси через певний час, залишаючи їх уразливими для атак з перехопленням сеансу.

• CWE-525: Витік інформації через рядка запиту в запиті GET – ця вразливість виникає, коли конфіденційна інформація передається через запити GET, потенційно піддаючи її несанкціонованого доступу або маніпулювання.

• CWE-912: прихована функціональність – ця вразливість виникає, коли веб-додаток включає приховані або недокументовані функції управління сеансами, що полегшує зловмисникам використання вразливостей сеансу.

Топ-10 CVE, пов'язаних з Недостатнім часом очікування сеансу

• CVE-2023-24522 – Через недостатнє очищення вхідних даних, SAP NetWeaver ЯК ABAP (Сторінки бізнес-сервера) – версії 700, 701, 702, 731, 740, дозволяє користувачеві, який не пройшов перевірку автентичності, змінити поточну сесію користувача шляхом впровадження шкідливого коду по мережі і отримати доступ до ненавмисним даними. Це може привести до обмеженого впливу на конфіденційність і цілісність програми.

• CVE-2023-24521 – Через недостатнє очищення вхідних даних, SAP NetWeaver ЯК ABAP (BSP Framework) – версії 700, 701, 702, 731, 740, 750, 751, 752, 753, 754, 755, 756, 757, дозволяє користувачеві, який не пройшов перевірку автентичності, змінювати поточну сесію користувача шляхом впровадження шкідливого коду по мережі і отримати доступ до ненавмисним даними. Це може привести до обмеженого впливу на конфіденційність і цілісність програми.

• CVE-2023-23614 – Веб-інтерфейс Pi-hole® (заснований на AdminLTE) забезпечує центральне розташування для управління вашим Pi-hole. Версії 4.0 і вище, попередні версії 5.18.3, уразливі з-за недостатнього закінчення терміну дії сеансу. Неправильне використання хеш веб-пароля адміністратора в якості значення cookie "Запам'ятати мене на 7 днів" дозволяє зловмисникові "передати хеш" для входу в систему або повторно використовувати теоретично прострочений файл cookie "запам'ятати мене". Він також надає доступ до хешу по мережі і зберігає його без необхідності в браузері. Термін дії самого файлу cookie закінчується через 7 днів, але його значення буде залишатися чинною до тих пір, поки пароль адміністратора не зміниться. Якщо файл cookie витік або був скомпрометований, він може використовуватися вічно, до тих пір, поки пароль адміністратора не буде змінено. Зловмисник, який отримав хеш пароля за допомогою іншого вектора атаки (наприклад, уразливості обходу колії), може використовувати його для входу до системи від імені адміністратора, встановивши хеш значення cookie без необхідності його злому для отримання пароля адміністратора (передачі хеша). Хеш передається по мережі і в браузері, де передаються і зберігаються файли cookie. Ця проблема виправлена у версії 5.18.3.

• CVE-2023-22771 – Інтерфейс командного рядка ArubaOS існує вразливість з недостатнім закінченням терміну дії сеансу. Успішне використання цієї проблеми дозволяє зловмисникові продовжувати сеанс на вразливому пристрої після видалення порушеної облікового запису

• CVE-2023-0227 – Недостатнє закінчення строку дії сеансу в репозиторії GitHub pyload / pyload до версії 0.5.0b3.dev36.

• CVE-2022-41208 – Із-за недостатньої перевірки вхідних даних SAP Financial Consolidation – версія 1010 дозволяє зловмисникові, який пройшов перевірку автентичності, з правами користувача змінювати поточний сеанс користувача. При успішному використанні зловмисник може переглядати або змінювати інформацію, надаючи обмежений вплив на конфіденційність і цілісність програми.

• CVE-2022-4070 – Недостатній термін дії сеансу в репозиторії GitHub librenms / librenms до 22.10.0.

• CVE-2022-39031 – Smart eVision має недостатню авторизацію для функції збору завдань. Несанкціонований віддалений зловмисник може використовувати цю уразливість для отримання ідентифікаторів сеансів тільки інших звичайних користувачів.

• CVE-2022-34392 – SupportAssist для домашніх ПК (версії 3.11.4 і вище) містить вразливість з недостатнім закінченням терміну дії сеансу. Аутентифікований користувач, який не є адміністратором, може отримати токен оновлення, що призводить до повторного використання токен доступу та отримання конфіденційної інформації.

• CVE-2022-3362 – Недостатній термін дії сеансу в репозиторії GitHub ikus060 / rdiffweb до версії 2.5.0.

Недостатній тайм-аут сеансу подвиги

  • Атака на Фіксацію сеансу – Ця атака включає в себе встановлення зловмисником ідентифікатор сеансу користувача на відоме значення, що дозволяє зловмисникові перехопити сеанс користувача і отримати доступ до конфіденційної інформації чи виконувати дії від імені користувача.

  • Перехоплення сеансу – Ця атака передбачає, що зловмисник перехоплює і використовує активний сеанс авторизованого користувача для отримання доступу до конфіденційної інформації або виконання несанкціонованих дій.

  • Атака грубої силою – Ця атака передбачає, що зловмисник намагається вгадати дійсний ідентифікатор сесії, систематично пробуючи різні значення, поки не буде знайдений дійсний ідентифікатор сеансу.

  • Міжсайтовий скриптінг (XSS) – Ця атака включає впровадження шкідливих скриптів на веб-сторінку, яку переглядає авторизований користувач, дозволяючи зловмиснику вкрасти інформацію про сеанс або виконати дії від імені користувача.

  • Підробка міжсайтових запитів (CSRF) – Ця атака передбачає, що зловмисник обманом змушує авторизованого користувача виконати дію, яку потрібно зловмиснику, наприклад, змінити пароль користувача або здійснити фінансову операцію, використовуючи активний сеанс користувача.

  • Сайдджекинг сеансу – Ця атака передбачає, що зловмисник перехоплює дані сеансу авторизованого користувача по незахищеній мережі, такий як загальнодоступна точка доступу Wi-Fi, і використовує їх для отримання доступу до конфіденційної інформації або виконання несанкціонованих дій.

  • Атака з повторним відтворенням сеансу – Ця атака передбачає, що зловмисник перехоплює і записує сеанс між користувачем і сервером, а потім відтворює сеанс пізніше, щоб отримати доступ до конфіденційної інформації або виконати несанкціоновані дії.

  • Атака "Людина посередині" (MITM) – Ця атака передбачає, що зловмисник перехоплює і змінює мережевий трафік між користувачем і сервером, що дозволяє зловмисникові вкрасти інформацію про сеанс або виконати несанкціоновані дії.

Практикуючись в тестуванні на Недостатній тайм-аут сеансу

Створення тестової середовища – Налаштуйте тестову середу з вразливим веб-додатком, який містить уразливості з недостатнім часом очікування сеансу. Використовуйте цю середу для практичного тестування та використання цих вразливостей.

Виконайте ручну оцінку вразливості – Почніть з ручного тестування програми на наявність вразливостей, пов'язаних з недостатнім часом очікування сеансу. Використовуйте різні інструменти і методи для виявлення вразливостей, такі як ручне управління ідентифікаторами сеансів, зміна файлів cookie та тестування тайм-аутів сеансу.

Використовуйте інструменти тестування – Існують різні інструменти, які можуть допомогти виявити уразливості з недостатнім часом очікування сеансу, такі як Burp Suite, OWASP ZAP і Nessus.

Спробуйте скористатися виявленими уразливостями – Після виявлення вразливостей спробуйте використовувати їх, виконуючи різні атаки, такі як перехоплення сеансу, фіксація сеансу і відтворення сеансу.

Практикуйте методи виправлення – Після виявлення вразливостей потренуйтеся застосовувати методи виправлення, такі як впровадження належних тайм-аутів сеансу, використання безпечних ідентифікаторів сеансу і шифрування даних сеансу.

Відвідуйте тренінги чи семінари – Відвідувати тренінги чи семінари, пов'язані з безпекою веб-додатків і уразливими місцями, пов'язаними з недостатнім часом очікування сеансу. Це дасть цінну інформацію і знання, які можуть бути застосовані для тестування і виявлення вразливостей.

Для вивчення Недостатній тайм-аут сеансу

OWASP Топ-10: Недостатній термін дії сеансу – цей ресурс з проекту Open Web Application Security Project (OWASP) надає огляд уязвімостей з недостатнім часом очікування сеансу і способів їх використання. Він також включає в себе кращі практики щодо запобігання і пом'якшення цих вразливостей.

Інститут САНС – SANS пропонує безліч курсів з безпеки веб-додатків, в тому числі курси, присвячені вразливостей з недостатнім часом очікування сеансу і способів їх тестування.

Керівництво хакера веб-додатків – Ця книга Девіда Штуттарда і Маркуса Пінто охоплює широке коло питань безпеки веб-додатків, включаючи проблеми, пов'язані з недостатнім часом очікування сеансу.

Академія Портсуиггера – PortSwigger Academy пропонує безкоштовний онлайн-курс з безпеки веб-додатків, який охоплює уразливості з недостатнім часом очікування сеансу, а також інші поширені уразливості.

Практичне тестування проникнення веб-додатків – Ця книга Прахара Прасада містить практичні рекомендації щодо проведення тестування веб-додатків на проникнення, включаючи тестування на уразливості з недостатнім часом очікування сеансу.

Керівництво користувача Burp Suite – Burp Suite - це популярний інструмент тестування безпеки веб-додатків, який можна використовувати для перевірки вразливостей з недостатнім часом очікування сеансу. Керівництво користувача Burp Suite містить детальну інформацію про те, як використовувати інструмент для виявлення та використання цих вразливостей.

YouTube – Існують різні канали YouTube, які висвітлюють теми безпеки веб-додатків, включаючи уразливості з недостатнім часом очікування сеансу. Прикладами можуть служити HackerSploit і Pentester Academy.

Книги з оглядом Недостатнього часу очікування сеансу

Керівництво хакера веб-додатків: Пошук і використання недоліків безпеки, Друге видання Дафида Штуттарда і Маркуса Пінто – У цій книзі розглядається широке коло питань безпеки веб-додатків, включаючи проблеми, пов'язані з недостатнім часом очікування сеансу.

Безпека веб-додатків: керівництво для початківців Брайана Саллівана і Вінсента Ллю – Ця книга містить безпека веб-додатків, включаючи проблеми, пов'язані з недостатнім часом очікування сеансу.

Black Hat Python: Програмування на Python для хакерів і пентестеров від Джастіна Сейтца – У цій книзі розглядаються різні теми, пов'язані з тестуванням на проникнення, включаючи уразливості з недостатнім часом очікування сеансу.

Розширене тестування на проникнення для високозахищених середовищ: Абсолютна керівництво з безпеки Чи Аллена і Кевіна Кардуэлла – У цій книзі розглядаються передові методи тестування на проникнення, включаючи тестування на уразливості з недостатнім часом очікування сеансу.

Тестування на проникнення: практичне введення в хакерство Джорджії Вайдман – Ця книга являє собою введення в тестування на проникнення і охоплює різні уразливості в системі безпеки, включаючи недостатній час очікування сеансу.

Злом сірої капелюхи: керівництво етичного хакера, п'яте видання Деніела Регаладо, Шона Харріса і Аллена Харпера – Ця книга охоплює низку тем злому і тестування на проникнення, включаючи уразливості з недостатнім часом очікування сеансу.

Основи злому і тестування на проникнення: етичний злом і спрощене тестування на проникнення, Друге видання Патріка Энгебретсона – Ця книга являє собою введення в тестування на злом і проникнення, включаючи тестування на уразливості з недостатнім часом очікування сеансу.

Практичне тестування проникнення веб-додатків від Prakhar Prasad – Ця книга містить практичне керівництво по виконанню тестування веб-додатків на проникнення, включаючи тестування на уразливості з недостатнім часом очікування сеансу.

Злом веб-додатків: виявлення і запобігання проблем безпеки веб-додатків Майк Шема – У цій книзі розглядаються різні теми безпеки веб-додатків, включаючи проблеми, пов'язані з недостатнім часом очікування сеансу.

Злом інформаційної безпеки: розробка індивідуального кар'єрного шляху, щоб отримати роботу, яку ви дійсно хочете, Джош Мор – Ця книга містить рекомендації про те, як побудувати кар'єру в області інформаційної безпеки, включаючи тестування безпеки веб-додатків і виявлення вразливостей з недостатнім часом очікування сеансу.

Список корисних навантажень Недостатній час очікування сеансу

  • Маніпулювати сеансовыми файлами cookie: Це можна зробити, змінивши ідентифікатор сеансу у файлі cookie, наприклад, за допомогою такого інструменту, як Burp Suite, для перехоплення і зміни файл cookie сеансу.

  • Встановіть тривалий тайм-аут сеансу: Встановивши для тайм-ауту сеансу дуже велике значення, наприклад, кілька днів або тижнів, можна перевірити, чи буде додаток підтримувати сеанс активним протягом тривалого періоду часу.

  • Використовуйте кілька сеансів одночасно: Відкривши кілька сеансів в одному браузері або в різних браузерах, можна перевірити, чи буде додаток підтримувати окремий стан сеансу для кожного сеансу.

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

  • Тест на фіксацію сеансу: Встановивши відомий ідентифікатор сеансу у файлі cookie перед аутентифікацією, можна перевірити, чи буде додаток приймати і використовувати відомий ідентифікатор сеансу замість генерації нового.

  • Тест на завершення сеансу: Вийшовши з програми і потім спробувавши використовувати файл cookie попереднього сеансу, можна перевірити, чи правильно додаток завершить сеанс і потребує повторної аутентифікації.

  • Перевірка на закінчення терміну дії сеансу: Дочекавшись закінчення часу очікування сеансу, а потім спробувавши використовувати файл cookie попереднього сеансу, можна перевірити, чи правильно додаток завершить сеанс і потребує повторної аутентифікації.

  • Використовуйте інструменти тестування: Інструменти автоматичного тестування, такі як OWASP ZAP або Acunetix, можна використовувати для перевірки вразливостей на недостатнє час очікування сеансу, автоматично надсилаючи різні корисні навантаження в додаток.

  • Використовуйте плагіни для браузера: Плагіни для браузера, такі як редактор файлів cookie або дані для несанкціонованого доступу, можна використовувати для ручного зміни файлів cookie сеансу і перевірки вразливостей на недостатнє час очікування сеансу.

  • Перевірка на сталість сеансу: Перезапустити сервер додатків або базу даних, а потім спробувавши використовувати cookie попереднього сеансу, можна перевірити, чи буде додаток зберігати стан сеансу при перезапуску сервера або скиданні бази даних.

Як захиститися від недостатнього часу очікування сеансу

  1. Використовуйте короткі тайм-аути сеансу: Сеанси повинні мати короткий період очікування, зазвичай не більше 30 хвилин, щоб знизити ризик перехоплення або фіксації сеансу.

  2. Реалізувати завершення сеансу: Сеанси повинні бути припинені, коли користувач виходить з системи або після періоду бездіяльності, щоб гарантувати, що стан сеансу очищено і не може бути використане повторно.

  3. Використовуйте надійні ідентифікатори сеансів: Ідентифікатори сеансів повинні генеруватися з використанням криптографічно захищеного генератора випадкових чисел і повинні бути досить довгими, щоб запобігти атакам з угадыванием методом перебору.

  4. Використовуйте HTTPS: Всі повідомлення між браузером користувача і сервером повинні бути зашифровані з використанням HTTPS, щоб запобігти підслуховування і підробку сеансових файлів cookie.

  5. Зберігання конфіденційних даних на стороні сервера: Конфіденційні дані, такі як токени аутентифікації або ідентифікатори сеансу, повинні зберігатися на стороні сервера, а не в браузері користувача, щоб знизити ризик крадіжки або несанкціонованого доступу.

  6. Реалізувати багатофакторну аутентифікацію: Багатофакторна аутентифікація, така як використання комбінації пароля і одноразового коду, що відсилається на мобільний телефон користувача, може знизити ризик перехоплення або фіксації сеансу.

  7. Регулярно переглядайте і оновлюйте політики управління сеансами: Політики управління сеансами слід регулярно переглядати і оновлювати, щоб переконатися, що вони відповідають сучасним передовим практикам та нормативним вимогам.

  8. Проводити регулярні оцінки вразливостей і тестування на проникнення: Регулярні оцінки вразливостей і тестування на проникнення можуть допомогти виявити уразливості з недостатнім часом очікування сеансу та інші слабкі місця в системі безпеки додатка.

  9. Навчати користувачів безпеки сеансів: Користувачі повинні бути інформовані про передові методи забезпечення безпеки сеансів, таких як вихід з системи по завершенні використання програми і відмова від використання загальнодоступних комп'ютерів або незахищених мереж для доступу до конфіденційної інформації.

  10. Використовуйте рамки і рекомендації по забезпеченню безпеки: Основи безпеки, такі як OWASP Top Ten, і рекомендації, такі як NIST SP 800-53, можуть надати рекомендації та рекомендації щодо впровадження безпечного керування сеансами у веб-додатках.

Заходи по пом'якшенню наслідків недостатнього часу очікування сеансу

  1. Вбудуйте відповідні періоди тайм-ауту сеансу: Періоди очікування сеансу повинні бути встановлені відповідним чином залежно від вимог безпеки програми та чутливості даних, до яких здійснюється доступ.

  2. Реалізувати завершення сеансу: Сеанси повинні бути припинені, коли користувач виходить з системи або після періоду бездіяльності. Це допомагає гарантувати, що стан сеансу очищено і не може бути повторно використане зловмисником.

  3. Використовуйте ідентифікатори захищених сеансів: Ідентифікатори сеансу повинні бути довгими, випадковими і унікальними, щоб зловмисники не могли вгадати їх або передбачити. Вони також повинні оновлюватися після кожного входу в систему або зміни сеансу, щоб знизити ризик атак з фіксацією сеансу.

  4. Реалізувати HTTPS: Протокол HTTPS повинен використовуватися для всіх комунікацій між браузером користувача і сервером, щоб запобігти підслуховування і підробку сеансових файлів cookie.

  5. Зберігання конфіденційних даних на стороні сервера: Конфіденційні дані, такі як токени аутентифікації або ідентифікатори сеансу, повинні зберігатися на стороні сервера, а не в браузері користувача, щоб знизити ризик крадіжки або несанкціонованого доступу.

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

  7. Моніторинг активності сеансу: Слід відстежувати активність сеансу, щоб виявити незвичайну поведінку, таку як кілька входів в систему з різних IP-адрес, які можуть вказувати на активну атаку.

  8. Проводити регулярні оцінки вразливостей і тестування на проникнення: Регулярні оцінки і тестування можуть допомогти виявити проблеми, пов'язані з недостатнім часом очікування сеансу, та інші слабкі місця в системі безпеки додатка.

  9. Навчати користувачів: Користувачі повинні бути інформовані про передові методи забезпечення безпеки сеансів, таких як вихід з системи по завершенні використання програми і відмова від використання загальнодоступних комп'ютерів або незахищених мереж для доступу до конфіденційної інформації.

  10. Дотримуйтесь принципів та рекомендацій по забезпеченню безпеки: Основи безпеки, такі як OWASP Top Ten, і рекомендації, такі як NIST SP 800-53, можуть надати рекомендації та рекомендації щодо впровадження безпечного керування сеансами у веб-додатках.

Висновок

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

Щоб запобігти проблеми, пов'язані з недостатнім часом очікування сеансу, важливо реалізувати відповідні періоди очікування сеансу, використовувати безпечні ідентифікатор сеансу, зберігати конфіденційні дані на стороні сервера і впроваджувати протокол HTTPS. Інші заходи по пом'якшенню наслідків, такі як багатофакторна аутентифікація, моніторинг активності сеансу, регулярні оцінки вразливостей і навчання користувачів, також можуть допомогти підвищити безпеку веб-додатків.

Для організацій і розробників важливо бути в курсі останніх загроз і вразливостей безпеки і слідувати передовим практикам і систем безпеки для запобігання і зниження ризиків безпеки.

Інші Послуги

Готові до безпеки?

зв'язатися з нами