flawopen.com/xss/Go
Learn how to fix Cross-Site Scripting (XSS) (CWE-79) in Go. Side-by-side vulnerable vs secure code examples for html/template contextual escaping and Gin responses.
कल्पना करें कि कोई सार्वजनिक नोटिस बोर्ड पर एक पर्ची चिपका देता है: 'जो कोई भी इसे पढ़े, वह अपना बटुआ पास खड़े व्यक्ति को दे दे'। यदि लोग बोर्ड पर चिपकी पर्ची के आदेश का आँख मूंदकर पालन करने लगें, तो कोई भी व्यक्ति सभी के पैसे चुरा सकता है।
Web Application SecurityCWE-79.CWE-79CWE-79): Standard Common Weakness Enumeration classification for xss-go.Defense-in-Depthहमलावर फॉर्म फ़ील्ड या URL में HTML टैग या जावास्क्रिप्ट कोड (उदा. <script> या <img onerror=...>) डालता है।
वेब एप्लिकेशन बिना उचित एन्कोडिंग के इनपुट को सीधे HTML पेज पर दिखाता है या डेटाबेस में सेव करता है।
जब कोई पीड़ित पेज खोलता है, तो उसका ब्राउज़र इंजेक्ट किए गए कोड को निष्पादन योग्य स्क्रिप्ट के रूप में चलाता है।
स्क्रिप्ट पीड़ित के सत्र में चलती है और प्रमाणीकरण कुकीज़ या सुरक्षा टोकन चुरा लेती है।
// text/template does no HTML escaping
import "text/template"
t := template.Must(
template.New("w").Parse(
"<div>Welcome, {{.}}</div>"))
t.Execute(w, name)
// html/template escapes by context
import "html/template"
t := template.Must(
template.New("w").Parse(
"<div>Welcome, {{.}}</div>"))
t.Execute(w, name)