A Grande Lista de Strings Naughty é uma lista em evolução de strings que têm uma alta probabilidade de causar problemas quando usadas como dados de entrada do usuário. Destina-se a ajudar em testes de controle de qualidade automatizados e manuais; útil sempre que seu engenheiro de controle de qualidade entrar em um bar.
Mesmo empresas multibilionárias com enormes quantidades de testes automatizados não conseguem encontrar todas as informações ruins. Por exemplo, veja o que acontece quando você tenta tweetar um espaço de largura zero (U+200B) no Twitter:
Embora este não seja um erro malicioso e os usuários típicos não estejam twittando Unicode estranho, um "erro interno do servidor" para entrada inesperada nunca é uma experiência positiva para o usuário e pode, na verdade, ser um sintoma de problemas mais profundos de validação de string. A Grande Lista de Strings Impertinentes tem como objetivo ajudar a revelar tais questões.
blns.txt
consiste em strings delimitadas por nova linha e comentários precedidos de #
. Os comentários dividem as strings em seções para facilitar a leitura manual e copiar/colar nos formulários de entrada. Para quem deseja acessar as strings programaticamente, é fornecido um arquivo blns.json
contendo um array com todos os comentários removidos (a pasta scripts
contém um script Python usado para gerar o blns.json
).
Sinta-se à vontade para enviar uma solicitação pull para adicionar mais strings ou seções adicionais. No entanto, não envie solicitações pull com strings muito longas (mais de 255 caracteres), pois isso torna a lista muito mais difícil de visualizar.
Da mesma forma, não envie solicitações pull que comprometam a usabilidade manual do arquivo . Isso inclui a string de teste EICAR, que pode fazer com que o arquivo seja sinalizado por scanners antivírus, e arquivos que alteram a codificação de blns.txt
. Além disso, não envie uma string de caractere nulo (U+0000), pois ela altera o formato do arquivo no GitHub para binário e o torna ilegível em solicitações pull. Finalmente, ao adicionar ou remover uma string, atualize todos os arquivos ao realizar uma solicitação pull.
A Grande Lista de Naughty Strings deve ser usada para softwares que você possui e gerencia . Algumas das Naughty Strings podem indicar vulnerabilidades de segurança e, como resultado, usar tais strings com software de terceiros pode ser crime. O mantenedor não é responsável por quaisquer ações negativas resultantes do uso da lista.
Além disso, a Big List of Naughty Strings não é um substituto totalmente abrangente para testes formais de segurança/penetração para o seu serviço.
Várias implementações da Big List of Naughty Strings chegaram a vários gerenciadores de pacotes. Eles são mantidos por terceiros, mas podem ser encontrados aqui:
Biblioteca | Link |
---|---|
Nó | https://www.npmjs.com/package/blns |
Nó | https://www.npmjs.com/package/big-list-of-naughty-strings |
.LÍQUIDO | https://github.com/SimonCropp/NaughtyStrings |
PHP | https://github.com/mattsparks/blns-php |
C++ | https://github.com/eliabieri/blnscpp |
Abra um PR para listar outros.
Max Woolf (@minimaxir)
MIT