[Securité] Faille DOM-based XSS

matthoffman Messages postés 405 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai suis webmaster d'un site, et en utilisant un scanner de vulnérabilité web je me suis apercu que ce logiciel (Acunetix Web Vulnerability Scanner) m'avait détecté une faille a risque élevé dans ma page index.php.

Voici les logs:

This vulnerability affects /index.php. 
Discovered by: Crawler. 

Script code from document.referer was executed via DOM manipulation by innerHTML or outerHTML properties.


Le problème c'est que le logiciel ne donne pas plus d'informations sur la faille dans mon système, donc je suis un peu bloqué, je pense savoir ce qu'est une faille DOM-based XSS (j'ai même fait de la recherche ayant des doutes sur la partie "DOM-based") et je n'ai rien trouvé de particulier vis à vis des sources.

Pourriez vous m'aidez et me dire, ce qu'il faut que je cherche ? Et ou plus particulièrement ?

Bon déjà j'imagine que la faille est présente forcément dans un champs utilisateur mais le problème c'est que la nagivation sur mon système se fait constamment par la page principale ... Donc il faudrait revoir le système dans sa totalité ....

Avez vous des conseils ? Des exemples ? Ou encore d'autres scanner qui pourraient donner plus d'informations lors de scans ?

Merci d'avance pour votre aide.

Cordialement,

Matt

2 réponses

prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Faire un audit du code... et donc demander à un connaisseur de mettre le nez dedans
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Salut,

La faille XSS signifie qu'il est possible à un utilisateur d'entrer son propre code HTML via un formulaire (dans la plupart des cas).

La partie « DOM-based » dit simplement que la faille est basée sur le HTML.

Pour résoudre le problème, il faut afficher les données provenant de la base de données en les filtrant avec htmlspecialchars().
Cette fonction remplacera les chevrons et guillemets par leur équivalent en entité HTML.
Ça aura pour effet de faire apparaître le code comme du texte, il ne sera pas lu par le navigateur.
0