Кибербезопасность: Как через curl протестировать защиту сайта на SQL-инъекции (OR ‘1’=’1′) и XSS-атаки ()?

Тестирование веб-приложений на уязвимости — важная часть работы специалиста по кибербезопасности. Утилита curl позволяет отправлять HTTP-запросы с вредоносными payload’ами и анализировать ответы сервера. Важно: все тесты проводите ТОЛЬКО на собственных ресурсах или с письменного разрешения владельца. Несанкционированное тестирование является уголовно наказуемым деяниям.

## Тестирование SQL-инъекций через curl

SQL-инъекция — это атака, при которой злоумышленник внедряет SQL-код в пользовательский ввод. Классический пример: OR ‘1’=’1′.

**Тест через GET-параметр:**

curl -v «https://example.com/login?username=admin’%20OR%20’1’%3D’1&password=test»

**Тест через POST-форму:**

curl -v -X POST https://example.com/login
-d «username=admin’ OR ‘1’=’1&password=anything»

**Что анализировать в ответе:**
— HTTP-код 200 с неожиданным контентом — возможная уязвимость
— Сообщения об ошибках БД (MySQL error, syntax error) — явная уязвимость
— Код 400/403/WAF-блокировка — защита работает
— Одинаковый ответ для нормального и вредоносного запроса — хороший знак

**Дополнительные payload’ы для проверки:**

curl -v «https://example.com/items?id=1%20AND%201%3D1»
curl -v «https://example.com/items?id=1%20UNION%20SELECT%20null,null—»

## Тестирование XSS-атак через curl

XSS (Cross-Site Scripting) — внедрение JavaScript-кода в страницу. Классический payload: `alert(1)`.

**Тест через GET-параметр:**

curl -v «https://example.com/search?q=%3Cscript%3Ealert%281%29%3C%2Fscript%3E»

**Тест через POST с заголовком Content-Type:**

curl -v -X POST https://example.com/comment
-H «Content-Type: application/x-www-form-urlencoded»
-d «text=%3Cscript%3Ealert%281%29%3C%2Fscript%3E»

**Проверка отражённого XSS в ответе:**

curl -s «https://example.com/search?q=alert(1)» | grep -i «script»

**Что анализировать:**
— Если в HTML-ответе присутствует тег « без экранирования — уязвимость есть
— Если тег преобразован в `<script>` — защита работает
— Наличие заголовков `Content-Security-Policy`, `X-XSS-Protection` в ответе

## Проверка защитных заголовков

curl -I https://example.com

Ищите в ответе:
— `X-XSS-Protection: 1; mode=block`
— `Content-Security-Policy`
— `X-Content-Type-Options: nosniff`
— `X-Frame-Options`

## Важные рекомендации

1. Используйте флаг `-v` для полного вывода запроса и ответа
2. Применяйте URL-кодирование спецсимволов
3. Для комплексного тестирования используйте специализированные инструменты: SQLMap, OWASP ZAP, Burp Suite
4. Фиксируйте все результаты в отчёт
5. Тестируйте в изолированной среде или на staging-сервере


Задайте вопрос нейросети

Не нашли ответ? Спросите ИИ — он подготовит развёрнутую статью.