1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| func (c *CorsVuln1Controller) Get() { origin := c.Ctx.Request.Header.Get("Origin") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", origin) c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Headers", "Origin, X-Requested-With, X-Extra-Header, Content-Type, Accept, Authorization") c.Ctx.ResponseWriter.Header().Set("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Credentials", "true") jsonp := make(map[string]interface{}) jsonp["username"] = "admin" jsonp["password"] = "admin@123" data, err := json.Marshal(jsonp) if err != nil { panic(err) } c.Ctx.ResponseWriter.Write(data) }
func (c *CorsVuln2Controller) Get() { c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", "*") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Headers", "Origin, X-Requested-With, X-Extra-Header, Content-Type, Accept, Authorization") c.Ctx.ResponseWriter.Header().Set("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Credentials", "true") jsonp := make(map[string]interface{}) jsonp["username"] = "admin" jsonp["password"] = "admin@123" data, err := json.Marshal(jsonp) if err != nil { panic(err) } c.Ctx.ResponseWriter.Write(data) }
func (c *CorsSafe1Controller) Get() { origin := c.Ctx.Request.Header.Get("origin") whitelists := []string{"localhost:233", "example.com"} corsFilter := utils.CorsFilter{} if origin != "" && corsFilter.DoFilter(origin, whitelists) { c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Origin", origin) c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Headers", "Origin, X-Requested-With, X-Extra-Header, Content-Type, Accept, Authorization") c.Ctx.ResponseWriter.Header().Set("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type") c.Ctx.ResponseWriter.Header().Set("Access-Control-Allow-Credentials", "true") } jsonp := make(map[string]interface{}) jsonp["username"] = "admin" jsonp["password"] = "admin@123" data, err := json.Marshal(jsonp) if err != nil { panic(err) } c.Ctx.ResponseWriter.Write(data) }
|