Middle
Mi az az XSS (Cross-Site Scripting)?
sobes.tech MI
Válasz az MI-től
XSS (Cross-Site Scripting) — ez egy webalkalmazásokban található sérülékenység, amely során egy támadó rosszindulatú szkriptet (általában JavaScriptet) injektál a tartalomba, amelyet aztán más felhasználók böngészőjében futtatnak. Ez lehetővé teszi a munkamenet sütik ellopását, a felhasználói műveletek hamisítását, phishing oldalakra irányítást stb.
Go alkalmazásokban az XSS-t úgy akadályozzuk meg, hogy a felhasználói bemenetet helyesen escape-eljük HTML-be való kiíráskor, automatikus escape-t biztosító sablonokat (pl. html/template csomag) használunk, valamint alkalmazzuk a Content Security Policy-t (CSP).
Biztonságos példakód Go-ban:
import (
"html/template"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
t := template.Must(template.New("page").Parse(`<div>{{.}}</div>`))
userInput := r.URL.Query().Get("input")
t.Execute(w, userInput) // automatikusan escape-eli
}
Így a rosszindulatú kód nem fog végrehajtódni a böngészőben.