tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Метод 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
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.