Présentation par Loïc BRANSTETT
Le 02/05/2019
Sommaire
Présentation de l'XSS
Présentation de l'XSS
<html>
<head>
<style>h1 {color: #256}</style>
</head>
<body>
<h1>Title</h1>
<script>
alert("Salut!");
</script>
</body>
</html>
Exécution arbitraire de code dans une page web
Style
Content
Code
Présentation de l'XSS
<html>
<body>
<div>
Bonjour <script>alert("XSS");</script>
</div>
</body>
</html>
https://monsite.fr/nom.php?name=<script>alert('XSS');</script>
Présentation de l'XSS
Que peut-on faire avec ce type de failles ?
Exemples réels
Exemples réels
Exploitations
Exploitation: "Stored XSS"
Exploitation: "Reflected XSS"
Exploitation: "Dom XSS"
<html>
<head>
<script src="jquery.js"></script>
<script>
$("title").after("Mon titre");
</script>
</head>
<body>
<h1 id="title">Title</h1>
</body>
</html>
Prévention
Prévention
HTML sanitization
var sanitizer = new HtmlSanitizer();
sanitizer.AllowedAttributes.Add("class");
var sanitized = sanitizer.Sanitize(html);
HTML sanitization is the process of examining an HTML document and producing a new HTML document that preserves only whatever tags are designated "safe" and desired
Conclusion
Questions ?
FIN