Загрузка файла с URL-адресом клиента вызывает уязвимость «Внешнее взаимодействие с сервисом (HTTP / DNS)»? - PullRequest
0 голосов
/ 11 октября 2019

В веб-приложении уже есть функция загрузки файла. Но вместо загрузки файла с локального диска клиент теперь должен также предоставить URL-адрес файла, который будет загружено приложением.

Существует множество примеров того, как это сделать в Stackoverflow, и кодреализовано и работает. Проблемы безопасности, связанные с загрузкой файлов, были обработаны как часть существующей функции загрузки файлов.

Однако эта новая функция с URL-адресом считается уязвимой для эксплойтов: взаимодействие внешних служб (HTTP) и взаимодействие внешних служб (DNS). ). HTTP - высокая уязвимость, а DNS - средний.

Определение этих проблем, например, приведено здесь: https://portswigger.net/kb/issues/00300200_external-service-interaction-dns

Таким образом, он говорит, что его можно использовать, например, для DDOS-атак на другие веб-сайты. и, возможно, также использовать внутренние службы.

Но у меня проблемы с пониманием предложенных решений, в основном это говорит о принятии соответствующих мер. Я не нашел хороших объяснений о лучших практиках и точно, что нужно сделать, если кто-то хочет сохранить такую ​​функцию. Белый список невозможен, так как клиенты могут загружать файлы из любого места. Веб-приложение не является общедоступным, поэтому клиенты проходят проверку подлинности перед предоставлением URL-адреса.

Существует ли простой способ предотвратить или уменьшить внешние атаки DDOS с помощью этой функции? Какие внутренние проблемы мы должны рассмотреть?

...