▶ видео
3 топовых приёма для пентестинга
👋
Приветствую в мире цифровой безопасности!Собрал ещё три приёма для проверки веб-приложений. На первый взгляд мелочи, но иногда именно в них прячутся интересные уязвимости.⏺Mass Assignment - сервер может принимать поля, которых вообще нет в интерфейсе. Например, обычный запрос на изменение профиля:
PATCH /api/profile HTTP/1.1
Content-Type: application/json
{“name”:”Alex”,”email”:”alex@example.com”}А что, если добавить isAdmin?
{“name”:”Alex”,”isAdmin”:true}Если бэкенд без разбора сохраняет переданные поля, пользователь может изменить то, к чему у него не должно быть доступа.
⏺HTTP Method Override - некоторые серверы позволяют переопределять метод запроса через заголовок:
POST /api/users/42 HTTP/1.1
Host: example.com
X-HTTP-Method-Override: DELETEПрокси видит POST, а приложение может обработать его как DELETE. Если проверки безопасности учитывают только исходный метод, появляется шанс обойти ограничения.
⏺JSON Type Confusion - попробуйте вместо ожидаемой строки передать массив:
{“userId”:”42”}Заменяем на:
{“userId”:[“42”]}Если API, промежуточный сервис и бэкенд по-разному работают с типами данных, могут возникнуть ошибки в проверках доступа и сравнении значений. Особенно стоит присмотреться к API, где запрос проходит через несколько компонентов. Главное, проверять не только ответ сервера, но и то, изменилось ли поведение приложения.
🤖Бесплатный ChatGPT