tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
CONNECT 방법
Go 프로그래밍 언어에서 HTTP 요청을 처리할 때, 특히 net/http
라이브러리를 사용할 때, 요청 경로를 표준화된 형식으로 자동 변환하는 것이 일반적인 관행입니다. 이 과정은 다음을 포함합니다:
/
로 끝나는 경로(flag/
)는 슬래시가 없는 대응 경로인/flag
로 리디렉션됩니다./../flag
와 같은 디렉토리 탐색 시퀀스를 포함하는 경로는 단순화되어/flag
로 리디렉션됩니다./flag/.
와 같이 후행 마침표가 있는 경로도 깨끗한 경로인/flag
로 리디렉션됩니다.
그러나 CONNECT
방법을 사용할 때 예외가 관찰됩니다. 다른 HTTP 방법과 달리 CONNECT
는 경로 정규화 프로세스를 트리거하지 않습니다. 이 동작은 보호된 리소스에 접근할 수 있는 잠재적인 경로를 열어줍니다. curl
에서 --path-as-is
옵션과 함께 CONNECT
방법을 사용하면 표준 경로 정규화를 우회하고 제한된 영역에 도달할 수 있습니다.
다음 명령은 이 동작을 악용하는 방법을 보여줍니다:
bash
curl --path-as-is -X CONNECT http://gofs.web.jctf.pro/../flag
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.