Golang
Метод CONNECT
У мові програмування Go, загальною практикою при обробці HTTP-запитів, зокрема за допомогою бібліотеки net/http
, є автоматичне перетворення шляху запиту в стандартизований формат. Цей процес включає в себе:
Шляхи, що закінчуються на слеш (
/
), наприклад/flag/
, перенаправляються на їхній варіант без слеша,/flag
.Шляхи, що містять послідовності переходу до каталогу, такі як
/../flag
, спрощуються і перенаправляються на/flag
.Шляхи з крапкою в кінці, як у
/flag/.
, також перенаправляються на чистий шлях/flag
.
Однак спостерігається виняток при використанні методу CONNECT
. На відміну від інших методів HTTP, CONNECT
не спричиняє процес нормалізації шляху. Ця поведінка відкриває потенційну можливість доступу до захищених ресурсів. Використовуючи метод CONNECT
разом із опцією --path-as-is
в curl
, можна обійти стандартний процес нормалізації шляху та потенційно дістатися до обмежених областей.
Наступна команда демонструє, як скористатися цим:
Last updated