Мне удалось найти 2 решения этой проблемы. Я хотел бы опубликовать его здесь на случай, если он кому-то поможет в будущем.
Решение на стороне кода
Оказывается, виновником здесь был trace=true
. Основываясь на документации здесь , благодаря @ user2864740 я попытался изменить его обратно на false
, и он остановил трассировку.
На стороне сервера решение
Кроме того, мы также можем полностью отключить сообщения трассировки в производственной среде, используя сущность в IIS - Фильтрация запросов
Отключить HTTP TRACK и TRACE
Чтобы отключить команду HTTP TRACK, следуйте инструкциям ниже. Эта уязвимость может быть помечена из-за разрешения команды HTTP TRACE, поэтому рекомендуется отключить обе.
- Go для диспетчера IIS
- Щелкните имя веб-сайта
- Дважды щелкните «Фильтрация запросов» (если вы не видите значок фильтрации запросов, установите его)
- Go на вкладку «HTTP-команды»
- Нажмите «Deny Verb» »В меню« Действия ». Введите «СЛЕД». Нажмите «ОК»
- Нажмите «Запретить команду» в меню «Действия». Введите «ТРЕК». Нажмите «ОК»
Testing
If you want to test if this setting works, you can try to send a TRACE request to IIS via telnet. If it fails with 404 code, it means this request is blocked. Steps to test the setting:
- In your client machine, open Command Prompt
- Type telnet 80
- Type the text below. Continue to enter characters even though the window won’t show what you are typing
- TRACE / HTTP/1.1
- Host: websitedomain.com
- HostA: Hello
- Hit Enter twice
If it shows HTTP/1.1 404 Not Found, it means the setting is working. TRACE is disabled:
If it shows HTTP/1.1 200 OK, it means the setting is not working. TRACE is allowed:
ref5
Единственным недостатком этого метода является то, что вы вообще не увидите никаких сообщений трассировки. Так что, если это кажется проблемой, вам следует go с решением на стороне кода.