mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
2.0 KiB
2.0 KiB
{{#include ../../banners/hacktricks-training.md}}
Метод CONNECT
У мові програмування Go поширеною практикою при обробці HTTP-запитів, зокрема за допомогою бібліотеки net/http, є автоматичне перетворення шляху запиту в стандартизований формат. Цей процес включає:
- Шляхи, що закінчуються на слеш (
/), такі як/flag/, перенаправляються на їхній варіант без слеша,/flag. - Шляхи, що містять послідовності переходу по каталогах, такі як
/../flag, спрощуються і перенаправляються на/flag. - Шляхи з крапкою в кінці, як у
/flag/., також перенаправляються на чистий шлях/flag.
Однак спостерігається виняток при використанні методу CONNECT. На відміну від інших HTTP-методів, CONNECT не викликає процес нормалізації шляху. Ця поведінка відкриває потенційний шлях для доступу до захищених ресурсів. Використовуючи метод CONNECT разом з опцією --path-as-is у curl, можна обійти стандартну нормалізацію шляху і потенційно досягти обмежених зон.
Наступна команда демонструє, як експлуатувати цю поведінку:
curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag
{{#include ../../banners/hacktricks-training.md}}