2016-11-30 4 views
1

Я пытаюсь защитить веб-службу .NET от XXE эксплойтов. Для базового сообщения SOAP является XML, оно потенциально подвержено риску.Как защитить .NET Web Services от эксплойтов XXE?

Способ запрета обработки DTD для документов XML можно найти here и here. Однако XML-анализ SOAP-сообщения выполняется с помощью фреймворка.

Как изменить настройки считывателя XML, чтобы отключить обработку DTD?

Я также искал крючок для доступа к содержимому XML напрямую, но не нашел ничего подходящего в документации WebService.

ответ

1

Я провел несколько тестов, которые показали, что веб-службы ASP.NET защищены против атак типа XXE. Структура, по-видимому, отключает обработку DTD по умолчанию.

Я использовал Soap UI для тестирования. Просто добавив определение DOCTYPE как

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE root[ 
<!ENTITY laugh "hahahahaha"> 
]> 

в результате плохой ошибки запроса (HTTP Status 400).

Чтобы убедиться, что я не просто испортил SOAP-сообщение, я также проверил XML-контент отдельно.