Sobes.tech
Middle

Τι είναι το XSS (Cross-Site Scripting);

sobes.tech AI

Απάντηση από AI

XSS (Cross-Site Scripting) — είναι μια ευπάθεια σε εφαρμογές ιστού όπου ένας επιτιθέμενος εισάγει κακόβουλο σενάριο (συνήθως JavaScript) σε περιεχόμενο που στη συνέχεια εκτελείται στον browser άλλων χρηστών. Αυτό επιτρέπει την κλοπή cookie συνεδρίας, την πλαστογράφηση ενεργειών χρήστη, την ανακατεύθυνση σε phishing ιστοσελίδες κ.ά.

Στις εφαρμογές Go, το XSS αποτρέπεται με την σωστή απόδραση της εισόδου χρήστη κατά την εμφάνιση σε HTML, χρησιμοποιώντας πρότυπα με αυτόματη απόδραση (π.χ. το πακέτο html/template), και εφαρμόζοντας την Πολιτική Ασφάλειας Περιεχομένου (CSP).

Παράδειγμα ασφαλούς εξόδου σε Go:

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) // αυτόματα αποδρά
}

Έτσι, ο κακόβουλος κώδικας δεν θα εκτελεστεί στον browser.