Home
System Hacking
🏒

Proxed Writeup

Type
CTF
년도
2023
Name
DownUnderCTF
분야
WEB
세부분야
Bypass
2023/09/03 13:40
1 more property

풀이 사전 지식

+ xml
xinclude

# URL

# Page

main

# Source Code

# main.go

package main import ( "flag" "fmt" "log" "net/http" "os" "strings" ) var ( port = flag.Int("port", 8081, "The port to listen on") ) func main() { flag.Parse() http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { xff := r.Header.Values("X-Forwarded-For") ip := strings.Split(r.RemoteAddr, ":")[0] if xff != nil { ips := strings.Split(xff[len(xff)-1], ", ") ip = ips[len(ips)-1] ip = strings.TrimSpace(ip) } if ip != "31.33.33.7" { message := fmt.Sprintf("untrusted IP: %s", ip) http.Error(w, message, http.StatusForbidden) return } else { w.Write([]byte(os.Getenv("FLAG"))) } }) log.Printf("Listening on port %d", *port) log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", *port), nil)) }
Go
복사

# Attack Vector

## X-Forwarded-For

X-Forwarded-For를 통해서 아이피를 변조할 수 있습니다.

# Exploit

# Payload

main.go에서 확인한 31.33.33.7를 입력해줍니다.

# Flag

DUCTF{17_533m5_w3_f0rg07_70_pr0x}
Plain Text
복사

# Reference