L'idée de la faille XSS, c'est de réussir à faire exécuter un bloc de code depuis une page web, sur un site qui ne t'appartient pas mais qui pourrait être visité par d'autres. Tu n'as théoriquement pas la main sur le serveur qui héberge ledit site web.
Déjà ça, c'est une première problématique. Si tu connais pas le serveur de traitement, tu peux difficilement "savoir" si le système est protégé ou non (ça c'est le but de ton outil justement) et si il l'est, comment il l'est. Par exemple, certains site pourraient simplement remplacer les caractères utilisés pour décrire des pages web (du HTML entre autre) par leurs entités HTML équivalentes...D'autre site pourrait simplement supprimer tout ce qui n'est pas autorisé. Rien que là, ton outil devrait être capable de savoir analyser les 2 types. Ensuite, si ton but c'est de savoir traiter toute forme d'injection, tu n'auras jamais fini. Il a peu près autant de façon de pirater un site que de site existant sur la toile...Certaines façons de faire se retrouvent d'un site à l'autre cela dit (parce qu'il utilise un framework ou un système web tout fait - Drupal, Django, ... - qui présenteront probablement les même failles).
"Le plus simple" (pour t'entrainer) serait déjà de restreindre ton scope de faille à une injection simple (exemple : Si sur un champs, tu te contente de mettre <javascript type='text/javascript'>window.alert('UnSuperHashCodeGenreNewGuid().ToString()');</javascript> et qu'en réponse du serveur, tu retrouve exactement ce texte saisi, il y a une faille.
Ensuite, si tu veux aller plus loin, tu pourrais tenter ce même comportement mais pour traiter le 2eme type de faille XSS indiqué dans ton lien : les failles permanente. Ce point sous-entend que la faille - si elle existe - ne se trouveras pas nécessairement dans la réponse à ta requête immédiate...Ce qui nécessite que ton outil soit capable de détecter toutes les routes HTTP permettant de joindre le site, et qu'il y effectue la recherche dans chacune d'elle.
Quoiqu'il en soit...Le Contains/IndexOf d'un String, c'est utile pour aller vite, mais pas très poussé. .NET propose une implémentation des expressions régulières. Je ne vais pas refaire une présentation de ce que c'est, mais avec ça, malgré la barbarie syntaxique de ces bestiole, tu devrais pouvoir faire des tests d'injection beaucoup plus poussés.
Note : Je ne doute pas qu'il existe des outils similaires au tient...Mais la découverte de faille, c'est un métier entier, probablement pas pour rien . Certaines entreprises font appel à des boites externes pour réaliser des "pen-tests" (tests de pénétration) où le but, c'est de mettre à l'épreuve la sécurisation des SI de l'entreprise.
je vais essayer ce que tu propose pour m’entraîner vue la galère que tu me décris pour faire mon projet ^^'
Problème pour trouver des failles xss
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.