🛡️CTF/LineCTF
LineCTF(2023) - Adult Simple GoCurl
LineCTF(2023) - Adult Simple GoCurl
2023.08.13# Adult Simple GoCurl 이전 문제인 Baby Simple GoCurl에서 업그레이드된 문제이다. 소스코드상 변경된 부분만 살펴보면 flag 문자열을 검사하는 로직이 || 으로 바뀌었고, ClientIP() 함수를 체크하는 로직이 없어졌다. reqUrl := strings.ToLower(c.Query("url")) reqHeaderKey := c.Query("header_key") reqHeaderValue := c.Query("header_value") reqIP := strings.Split(c.Request.RemoteAddr, ":")[0] fmt.Println("[+] " + reqUrl + ", " + reqIP + ", " + reqHeaderKey + ", " + reqHea..
LineCTF(2023) - Baby Simple GoCurl
LineCTF(2023) - Baby Simple GoCurl
2023.08.13# Baby Simple GoCurl 문제 페이지에 접속하면 URL, Header Key, Header Value를 설정하여 Curl 요청을 보낼 수 있는 기능이 존재한다. 상단에는 현재 내가 할당받은 IP주소가 표기되게 되어있다. https://www.naver.com , test, test로 요청을 보내면 아래 처럼 Response가 나타난다. GET /flag/ r.GET("/flag/", func(c *gin.Context) { reqIP := strings.Split(c.Request.RemoteAddr, ":")[0] log.Println("[+] IP : " + reqIP) if reqIP == "127.0.0.1" { c.JSON(http.StatusOK, gin.H{ "message": ..
LineCTF 2022 - memo drive
LineCTF 2022 - memo drive
2022.04.13python의 starlette 프레임워크 기반으로 만들어진 메모 기능의 페이지이다. 메인 페이지와 /view, /reset, /save 의 경로가 존재한다. path traversal 취약점을 통해 flag를 획득해야하는것으로 보인다. 취약할거같은 부분을 확인해보면 아래 /view 페이지가 취약해 보인다. def view(request): context = {} try: context['request'] = request clientId = getClientID(request.client.host) if '&' in request.url.query or '.' in request.url.query or '.' in unquote(request.query_params[clientId]): raise fi..
LineCTF 2022 - gotm
LineCTF 2022 - gotm
2022.03.29- Description Go로 작성된 웹이다. - Source code ...... type Account struct { id string pw string is_admin bool secret_key string } type AccountClaims struct { Id string `json:"id"` Is_admin bool `json:"is_admin"` jwt.StandardClaims } ...... var acc []Account var secret_key = os.Getenv("KEY") var flag = os.Getenv("FLAG") ...... func jwt_encode(id string, is_admin bool) (string, error) { claims := Accoun..