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