-
[X-Forwarded-For] HTTP - IP Restriction BypassHacking/CTF 문제 풀이 2025. 7. 3. 20:00728x90반응형

Problem
사설 IP가 아니기 때문에 로그인을 해야 합니다.
Working through problems
우선 사설 IP 대역을 알아야 합니다.
1. 사설 IP 대역 (Private IP ranges)
이 대역들은 인터넷 공인 네트워크에서 사용되지 않고, 내부 네트워크(LAN)에서만 사용됩니다.
- 10.0.0.0 ~ 10.255.255.255 (10/8 prefix)
- 172.16.0.0 ~ 172.31.255.255 (172.16/12 prefix)
- 192.168.0.0 ~ 192.168.255.255 (192.168/16 prefix)
2. Header 조작을 통한 접근 시도
웹 서버가 클라이언트의 IP를 판단하는 데 사용하는 X-Forwarded-For 헤더를 조작할 수 있습니다.
$ curl -H "X-Forwarded-For: 10.0.0.1" http://challenge01.root-me.org/web-serveur/ch68/이렇게 하면 웹 서버에 “나는 172.16.0.1에서 왔어”라고 알려주게 됩니다.
그러나 이는 단지 HTTP 헤더를 조작한 것일 뿐 실제 네트워크 계층에서의 출발지 IP는 바뀌지 않습니다.
보완 설명 및 핵심 포인트
curl을 사용한 요청은 결국 TCP/IP 기반의 통신으로 이루어지며 클라이언트는 서버와 TCP 연결을 통해 데이터를 주고받습니다.
X-Forwarded-For 헤더는 OSI 7계층 중 Application Layer에 속하는 요소로 실제 네트워크 수준의 통신에는 영향을 미치지 않습니다.
따라서 이 헤더를 조작한다고 해도 DNS 요청이나 TCP 레벨에서의 출발지 IP 주소는 변경되지 않습니다.결국 X-Forwarded-For는 단지 “이 IP에서 요청이 왔다”는 주장을 담는 용도일 뿐 실제 출발지를 변경할 수 있는 수단은 아닙니다.
728x90반응형'Hacking > CTF 문제 풀이' 카테고리의 다른 글
[Header] HTTP - User-agent (0) 2025.07.07 [Open Redirect] HTTP - Open redirect (0) 2025.07.03 [A03:2021 - Injection] SQL Injection을 이용한 사용자 계정 정보 탈취 - Error Based SQL Injection (1) 2025.06.18 [A03:2021 - Injection] SQL Injection을 이용한 사용자 계정 정보 탈취 - Blind SQL Injection, General SQL Injection (0) 2025.06.17 [A03:2021 - Injection] Command Injection (Low~High) - PHP (0) 2025.06.15