Sobes.tech
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.