Найти в Дзене
Zylonix

🚀 Гайд с нуля: XSS и SQL-инъекции – что это и как защититься?

Каждый день хакеры используют XSS и SQL-инъекции, чтобы:
❌ Украсть пароли, банковские карты и личные данные
❌ Взломать сайты и получить полный контроль над сервером
❌ Подменить контент, внедрить вирусы или изменить базу данных Эти уязвимости встречаются на сайтах, интернет-магазинах, онлайн-банках и корпоративных сервисах.
📌 Важно понимать, как работают эти атаки и как защититься от них! Что может делать XSS?
🔹 Красть куки и данные авторизации
🔹 Менять страницу (подделывать формы, редиректы)
🔹 Внедрять вредоносные скрипты 📌 В формах обратной связи, комментариях, полях поиска и регистрациях. 💡 Пример атаки XSS:
Пользователь оставляет комментарий на сайте: <script>alert("Ваш аккаунт взломан!")</script> Если сайт не фильтрует ввод, этот код выполнится у всех пользователей! ✅ Фильтрация и экранирование данных на фронтенде и бэкенде
🔹 На клиенте (фронтенде) используем библиотеку DOMPurify: import DOMPurify from 'dompurify';
const cleanInput = DOMPurify.sanitize(userInput); 🔹 На серв
Оглавление

🔥 Почему это важно?

Каждый день хакеры используют XSS и SQL-инъекции, чтобы:
Украсть пароли, банковские карты и личные данные
Взломать сайты и получить полный контроль над сервером
Подменить контент, внедрить вирусы или изменить базу данных

Эти уязвимости встречаются на сайтах, интернет-магазинах, онлайн-банках и корпоративных сервисах.
📌
Важно понимать, как работают эти атаки и как защититься от них!

🔹 Что такое XSS (межсайтовый скриптинг)?

📌 XSS – это атака, при которой злоумышленник вставляет вредоносный код в сайт.

Что может делать XSS?
🔹
Красть куки и данные авторизации
🔹
Менять страницу (подделывать формы, редиректы)
🔹
Внедрять вредоносные скрипты

🔎 Где встречается XSS?

📌 В формах обратной связи, комментариях, полях поиска и регистрациях.

💡 Пример атаки XSS:
Пользователь оставляет комментарий на сайте:

<script>alert("Ваш аккаунт взломан!")</script>

Если сайт не фильтрует ввод, этот код выполнится у всех пользователей!

🔧 Как защититься от XSS?

Фильтрация и экранирование данных на фронтенде и бэкенде
🔹 На
клиенте (фронтенде) используем библиотеку DOMPurify:

import DOMPurify from 'dompurify';
const cleanInput = DOMPurify.sanitize(userInput);

🔹 На сервере (бэкенде) очищаем данные перед сохранением.

Использование Content Security Policy (CSP)
– Блокирует выполнение вредоносных скриптов.

Экранирование HTML-тегов
– Преобразуйте < и > в &lt; и &gt;, чтобы они не выполнялись как код.

Запрет вставки пользовательского HTML
– Вместо <div dangerouslySetInnerHTML={{ __html: input }}> в React
используйте:

<p>{cleanInput}</p>

📌 Без защиты XSS может украсть куки и взломать аккаунты пользователей!

🔹 Что такое SQL-инъекция?

📌 SQL-инъекция – это способ взлома базы данных через ввод в форму.

Злоумышленник вводит SQL-код вместо обычного текста, и сервер выполняет его.

🔎 Где встречается SQL-инъекция?

📌 В формах логина, поиска, регистрации и API-запросах.

💡 Пример атаки SQL-инъекцией:
Обычный запрос к базе:

SELECT * FROM users WHERE login = 'admin' AND password = '12345';

Злоумышленник вводит:

' OR 1=1 --

Теперь сервер выполнит запрос:

SELECT * FROM users WHERE login = '' OR 1=1 --' AND password = '';

📌 А это значит, что злоумышленник войдет без пароля!

🔧 Как защититься от SQL-инъекций?

Использование подготовленных запросов (Prepared Statements)
📌
Для Node.js (MySQL):

const query = "SELECT * FROM users WHERE login = ? AND password = ?";
db.execute(query, [username, password]);

📌 Для PHP (PDO):

$stmt = $pdo->prepare("SELECT * FROM users WHERE login = :login");
$stmt->execute(['login' => $userInput]);

Валидация данных на клиенте и сервере
📌
На фронтенде – проверяем ввод пользователя:

if (!/^[a-zA-Z0-9]+$/.test(input)) {
alert("Ошибка! Введены запрещенные символы.");
}

📌 На бэкенде – очищаем входные данные перед обработкой.

Ограничение прав в базе данных
📌
Дайте веб-приложению только минимально необходимые права:

GRANT SELECT, INSERT, UPDATE ON database.* TO 'web_user'@'localhost';

WAF (Web Application Firewall)
📌 Используйте
Cloudflare, ModSecurity или Nginx WAF для фильтрации SQL-инъекций.

📌 SQL-инъекции – одна из главных причин утечек данных и массовых взломов сайтов!

🔹 Как защититься бизнесу?

📌 Если у вас сайт, интернет-магазин или корпоративный сервис, вам нужно:
Проверять код – тестируйте сайт на XSS и SQL-инъекции.
Использовать WAF – фильтрует вредоносные запросы.
Обновлять ПО – старые CMS и библиотеки содержат уязвимости.
Обучать сотрудников – администраторы и разработчики должны понимать риски.
Проводить пентесты – тестируйте сайт на безопасность.

📌 Компании теряют миллионы из-за утечек данных – защита должна быть в приоритете!

🔹 Как защититься обычному пользователю?

Не вводите свои данные на подозрительных сайтах
Используйте менеджеры паролей – так злоумышленник не сможет украсть данные
Обновляйте браузер и антивирус
Не открывайте подозрительные ссылки – особенно в письмах и соцсетях
Включите блокировку JavaScript для ненадежных сайтов

📌 Ваши данные – ваша ответственность! Будьте бдительны.

✅ Итог

🔹 XSS – позволяет вставлять вредоносный код и красть данные.
🔹
SQL-инъекция – позволяет взломать базу данных и получить доступ к системе.
🔹
Защитапроверяйте вводимые данные, используйте WAF, экранируйте HTML и SQL.
🔹
Бизнесу – тестируйте сайт, обучайте сотрудников, обновляйте ПО.
🔹
Пользователям – будьте внимательны, не вводите данные на подозрительных сайтах.

🔥 Теперь вы знаете, как работают XSS и SQL-инъекции и как от них защититься!

🔗 Полезные ссылки

📖 OWASP Top 10 уязвимостей – https://owasp.org/www-project-top-ten/
📖
Руководство по SQL-инъекциям – https://portswigger.net/web-security/sql-injection
📖
Защита от XSShttps://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
📖 Автоматизированный запуск .sh скрипта по SSH через Python: https://dzen.ru/a/Z597p0Mg-ScCa0Z7
🔧
Игра нашей студии для энергичных компаний: https://dzen.ru/a/Z54QifoT4gmwinFI
📖Больше статей на канале

🎯 Хештеги

#безопасность #интернет #sql #xss #взлом #бизнес #it #вебразработка #хакеры #киберугрозы