flawopen.com/xss/Swift
Learn how to fix Cross-Site Scripting (XSS) (CWE-79) in Swift. Side-by-side vulnerable vs secure code examples for Vapor Leaf template contextual escaping.
Imaginez coller une note sur le panneau d'affichage du hall disant : 'Toute personne lisant ceci doit donner son portefeuille à la personne à côté d'elle'. Si les visiteurs obéissaient aveuglément à chaque note punaisée, n'importe qui pourrait voler l'argent de tout le monde.
Web Application SecurityCWE-79.CWE-79Defense-in-DepthL'attaquant soumet des balises HTML ou des scripts JavaScript (ex. <script> ou <img onerror=...>) via des formulaires ou paramètres.
L'application injecte l'entrée brute dans la réponse HTML sans encodage adéquat des entités HTML.
Lorsque la victime charge la page, son navigateur interprète le texte comme du code exécutable plutôt que du texte brut.
Le script malveillant s'exécute dans le contexte de la victime et vole les cookies d'authentification ou les jetons de session.
// untrusted HTML loaded with no sanitization
webView.loadHTMLString(
untrustedHtml, baseURL: nil
)
// sanitize before loading
let safeHtml = sanitize(untrustedHtml)
webView.loadHTMLString(
safeHtml, baseURL: nil
)
loadHTMLString().evaluateJavaScript() calls.