J'ai l'application web Struts 2.x. Dans cette application, j'utilise XMLHttpRequest
pour actualiser un div avec une table. J'ai une page JSP distincte pour le rendu de la table HTML. Je reçois la réponse de la page JSP dans XMLHttpRequest
et mettre à jour la réponse à div. Veracode affiche le problème XSS sur la ligne de code innerHTML
. Comment puis-je désinfecter le contenu HTML ici? Si la page JSP génère une sortie HTML, ce que vous avez est correct.Veracode signale un problème XSS dans XMLHttpResponse Javascript
function ajaxFileUploadRefresh(){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("StatusDiv").innerHTML=xmlhttp.responseText; // Refreshing the Div with response. This is where Veracode shows error.
}
}
xmlhttp.open("POST","StrutsAction_methodName",true); // This action will be redirected to jsp
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(postString);
}
"Comment désinfecter le contenu HTML ici?" - Pourquoi a-t-il besoin d'être assaini? L'URL 'StrutsAction_methodName' n'est-elle pas digne de confiance? Il semble faire partie du même site! – Quentin
Merci @Quentin. Je n'aurais probablement pas dû utiliser Sanitize ici. Mais l'outil veracode me montre un problème XSS lorsque la réponse est ajoutée à la div. – ramanareddy438
Les outils pour détecter les trous de sécurité ont tendance à être stupides. Ils détectent les problèmes potentiels. Vous devez absolument analyser leurs rapports pour voir s'il y a un problème réel et ne pas leur faire confiance aveuglément. – Quentin