Sobes.tech
Back to questions
Middle
2

What is XSS (Cross-Site Scripting)?

Companies where asked
SecurityTestXSS

Answer from AI

sobes.tech AI

XSS (Cross-Site Scripting) — это уязвимость веб-приложений, при которой злоумышленник внедряет вредоносный скрипт (обычно JavaScript) в контент, который затем исполняется в браузере других пользователей. Это позволяет красть сессионные куки, подделывать действия пользователя, перенаправлять на фишинговые сайты и т.п.

В Go-приложениях XSS предотвращают, корректно экранируя пользовательский ввод при выводе в HTML, используя шаблоны с автоматическим экранированием (например, пакет html/template), а также применяя Content Security Policy (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) // автоматически экранирует
}

Таким образом, вредоносный код не будет исполнен в браузере.