
Kuratierte Liste bösartiger und Edge-Case-Eingabezeichenfolgen (blns.txt/blns.json) für QA- und Sicherheitstests der Benutzereingabevalidierung, Injection und Unicode-Verarbeitung.
Die Big List of Naughty Strings ist eine fortlaufend wachsende Liste von Zeichenketten, die mit hoher Wahrscheinlichkeit Probleme verursachen, wenn sie als Benutzereingabedaten verwendet werden. Sie ist für den Einsatz bei automatisierten und manuellen QA-Tests gedacht; nützlich immer dann, wenn Ihr QA-Ingenieur eine Bar betritt.
Selbst milliardenschwere Unternehmen mit riesigen Mengen an automatisierten Tests können nicht jede fehlerhafte Eingabe finden. Schauen Sie sich zum Beispiel an, was passiert, wenn Sie versuchen, auf Twitter ein Zero-Width Space (U+200B) zu tweeten:
Obwohl dies kein böswilliger Fehler ist und typische Nutzer keine seltsamen Unicode-Zeichen tweeten, ist ein „interner Serverfehler“ bei unerwarteter Eingabe nie eine positive Erfahrung für den Nutzer und kann tatsächlich ein Symptom tieferliegender Probleme bei der String-Validierung sein. Die Big List of Naughty Strings soll helfen, solche Probleme aufzudecken.
blns.txt besteht aus durch Zeilenumbrüche getrennten Zeichenketten und Kommentaren, denen # vorangestellt ist. Die Kommentare unterteilen die Zeichenketten in Abschnitte, um das manuelle Lesen und Kopieren/Einfügen in Eingabeformulare zu erleichtern. Für diejenigen, die programmatisch auf die Zeichenketten zugreifen möchten, wird eine Datei blns.json bereitgestellt, die ein Array mit allen entfernten Kommentaren enthält (der Ordner scripts enthält ein Python-Skript, mit dem die blns.json erzeugt wird).
Sie können gerne einen Pull Request senden, um weitere Zeichenketten oder zusätzliche Abschnitte hinzuzufügen. Bitte senden Sie jedoch keine Pull Requests mit sehr langen Zeichenketten (255+ Zeichen), da dies die Liste deutlich schwerer lesbar macht.
Ebenso senden Sie bitte keine Pull Requests, die die manuelle Nutzbarkeit der Datei beeinträchtigen. Dazu gehört die EICAR-Testzeichenkette, die dazu führen kann, dass die Datei von Antivirenscannern markiert wird, sowie Dateien, die die Kodierung von blns.txt verändern. Senden Sie außerdem keine Zeichenkette mit einem Nullzeichen (U+0000), da dieses das Dateiformat auf GitHub in Binär ändert und die Datei in Pull Requests unlesbar macht. Wenn Sie schließlich eine Zeichenkette hinzufügen oder entfernen, aktualisieren Sie bitte bei Ihrem Pull Request alle Dateien.
Die Big List of Naughty Strings ist für die Verwendung mit Software, die Ihnen gehört und die Sie verwalten, gedacht. Einige der Naughty Strings können auf Sicherheitslücken hinweisen, und infolgedessen kann die Verwendung solcher Zeichenketten mit Software von Drittanbietern eine Straftat darstellen. Der Maintainer ist nicht verantwortlich für negative Handlungen, die sich aus der Verwendung der Liste ergeben.
Darüber hinaus ist die Big List of Naughty Strings kein vollständig umfassender Ersatz für formale Sicherheits-/Penetrationstests für Ihren Dienst.
Verschiedene Implementierungen der Big List of Naughty Strings haben es in diverse Paketmanager geschafft. Diese werden von externen Parteien gepflegt, sind aber hier zu finden:
Bitte eröffnen Sie einen PR, um weitere aufzulisten.
Max Woolf (@minimaxir)
MIT