1. The Ultimate Weapon: Burp Suite
Прежде чем ломать сложный веб, забудьте про F12. Вам нужен прокси-инструмент, который встанет между вашим браузером и сервером.
Burp Suite — это профессиональный инструмент для тестирования безопасности веб-приложений, используемый для поиска и эксплуатации уязвимостей.
Основные вкладки:
Proxy: Перехват и изменение запросов «на лету». Вы нажимаете кнопку в браузере, а запрос зависает в Burp, где вы можете поменять
admin=falseнаadmin=trueперед отправкой.Repeater: Лаборатория для экспериментов. Вы отправляете запрос в Repeater, меняете один байт, отправляете, смотрите ответ. И так 100 раз.
Intruder: Автоматизация атак (брутфорс, фаззинг параметров).
2. XXE (XML External Entity)
Если сайт принимает данные в формате XML (или офисные документы, которые тоже XML внутри), он может быть уязвим.
Суть уязвимости:
XXE позволяет злоумышленнику вмешаться в процесс обработки XML-данных приложением. Вы определяете свою "сущность" (entity), которая ссылается на внешний ресурс.
Что можно сделать:
LFI (Чтение файлов): Просматривать файлы файловой системы сервера (например,
/etc/passwd).SSRF: Взаимодействовать с внутренними системами.
Пример атаки (Payload):
Вместо обычного XML мы отправляем модифицированный:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<stockCheck>
<productId>&xxe;</productId>
</stockCheck>
Если сервер уязвим, вместо productId он подставит содержимое файла /etc/passwd и вернет его вам в ошибке или ответе.
3. SSRF (Server-Side Request Forgery)
SSRF — это уязвимость, при которой вы заставляете сервер делать запросы к произвольным ресурсам (внешним или внутренним).
Почему это работает?
Приложение принимает URL от пользователя и делает по нему запрос без должной проверки. Для сервера этот запрос выглядит "доверенным", так как он исходит от самого себя.
Векторы атак:
Сканирование внутренней сети: Доступ к админкам, которые доступны только с localhost (например,
http://localhost/adminилиhttp://192.168.0.1:8080).Чтение метаданных облака: В AWS/Google Cloud можно украсть ключи доступа, обратившись к специальному адресу (например,
http://169.254.169.254/...).
Пример:
Если сайт загружает аватарку по ссылке, попробуйте подсунуть ему:
stockApi=http://stock.weliketoshop.net:8080/product/stock/...
меняем на
stockApi=http://localhost/admin
4. SSTI (Server-Side Template Injection)
Современные сайты собираются из шаблонов. SSTI возникает, когда ввод пользователя небезопасно объединяется с шаблоном (конкатенация), и движок шаблонизатора начинает исполнять ваш текст как код.
Как определить (Detection):
Попробуйте математику. Если вы вводите {{7*7}} и видите на сайте 49 — это SSTI.
Популярные движки и синтаксис:
Jinja2 (Python/Flask):
{{ user.name }}. Часто позволяет получить RCE (удаленное выполнение кода) через доступ к глобальным объектам Python.Twig (PHP/Symfony):
{{ user.name }}. Компилируется в PHP.Freemarker (Java):
${user.name}.
5. SQL Injection (SQLi)
Это классика взлома баз данных.
Суть: Внедрение произвольного SQL-кода в запрос к базе данных. Происходит, когда данные пользователя подставляются в запрос без фильтрации.
Типы SQLi:
Union-Based: Самая наглядная. Позволяет объединить результаты легитимного запроса с вашим.
Payload:
' UNION SELECT username, password FROM users--Результат: Сайт выводит список логинов и паролей прямо на страницу.
Error-Based: Мы намеренно ломаем синтаксис, чтобы база данных "выплюнула" ошибку, содержащую данные.
Payload:
' AND (SELECT 1/0) --(вызовет ошибку деления на ноль или синтаксиса).
Boolean-Blind (Слепая): Сайт не показывает данные, но реагирует по-разному на TRUE и FALSE.
Payload:
id=1' AND 1=1--(страница загрузилась нормально) vsid=1' AND 1=0--(страница пустая/ошибка 404).Метод: Мы перебираем пароль посимвольно: "Первая буква пароля 'A'?"
Time-Based (Временная): Мы спрашиваем: "Если пароль начинается на 'A', подожди 10 секунд". Если сайт завис — мы угадали.
Инструмент:
Для автоматизации SQLi используйте SQLMap.
sqlmap -u "http://site.com/page?id=1" --dbs
6. Полезные материалы
PortSwigger Web Security Academy (Burp Suite Creators):
Лучший в мире ресурс для изучения XXE, SSRF, SSTI и SQLi. Вся теория подкреплена лабами.
Ссылка: portswigger.net/web-security
HackTricks:
Энциклопедия хакера. Если нашли SSTI, идите туда за готовыми пейлоадами для Jinja2 или Twig.
Ссылка: book.hacktricks.xyz
PayloadsAllTheThings:
Репозиторий на GitHub с огромными списками векторов атак для всего, что мы обсудили.