La grande liste de chaînes coquines est une liste évolutive de chaînes qui ont une forte probabilité de causer des problèmes lorsqu'elles sont utilisées comme données saisies par l'utilisateur. Ceci est destiné à être utilisé pour faciliter les tests d’assurance qualité automatisés et manuels ; utile chaque fois que votre ingénieur QA entre dans un bar.
Même les entreprises multimilliardaires qui effectuent d’énormes quantités de tests automatisés ne parviennent pas à trouver toutes les mauvaises entrées. Par exemple, regardez ce qui se passe lorsque vous essayez de tweeter un espace de largeur nulle (U+200B) sur Twitter :
Bien qu'il ne s'agisse pas d'une erreur malveillante et que les utilisateurs typiques ne tweetent pas un Unicode étrange, une "erreur de serveur interne" pour une entrée inattendue n'est jamais une expérience positive pour l'utilisateur et peut en fait être le symptôme de problèmes de validation de chaîne plus profonds. La Big List of Naughty Strings est destinée à aider à révéler de tels problèmes.
blns.txt
se compose de chaînes et de commentaires délimités par des nouvelles lignes et précédés de #
. Les commentaires divisent les chaînes en sections pour faciliter la lecture manuelle et le copier/coller dans les formulaires de saisie. Pour ceux qui souhaitent accéder aux chaînes par programme, un fichier blns.json
est fourni contenant un tableau avec tous les commentaires supprimés (le dossier scripts
contient un script Python utilisé pour générer le blns.json
).
N'hésitez pas à envoyer une pull request pour ajouter plus de chaînes ou de sections supplémentaires. Cependant, veuillez ne pas envoyer de pull request avec des chaînes très longues (plus de 255 caractères), car cela rend la liste beaucoup plus difficile à visualiser.
De même, veuillez ne pas envoyer de demandes d'extraction qui compromettent l'utilisation manuelle du fichier . Cela inclut la chaîne de test EICAR, qui peut entraîner le signalement du fichier par les scanners antivirus, ainsi que les fichiers qui modifient le codage de blns.txt
. N’envoyez pas non plus de chaîne de caractères nuls (U+0000), car cela modifie le format de fichier sur GitHub en binaire et le rend illisible dans les demandes d’extraction. Enfin, lors de l'ajout ou de la suppression d'une chaîne, veuillez mettre à jour tous les fichiers lorsque vous effectuez une pull request.
La Big List of Naughty Strings est destinée à être utilisée pour les logiciels que vous possédez et gérez . Certaines chaînes Naughty Strings peuvent indiquer des failles de sécurité et, par conséquent, l'utilisation de telles chaînes avec un logiciel tiers peut constituer un crime. Le responsable n'est pas responsable des actions négatives résultant de l'utilisation de la liste.
De plus, la Big List of Naughty Strings ne constitue pas un substitut complet aux tests formels de sécurité/pénétration pour votre service.
Diverses implémentations de la Big List of Naughty Strings ont été intégrées à divers gestionnaires de paquets. Ceux-ci sont gérés par des tiers, mais peuvent être trouvés ici :
Bibliothèque | Lien |
---|---|
Nœud | https://www.npmjs.com/package/blns |
Nœud | https://www.npmjs.com/package/big-list-of-naughty-strings |
.FILET | https://github.com/SimonCropp/NaughtyStrings |
PHP | https://github.com/mattsparks/blns-php |
C++ | https://github.com/eliabieri/blnscpp |
Veuillez ouvrir un PR pour en lister d'autres.
Max Woolf (@minimaxir)
MIT