
Lista curada de cadenas de entrada maliciosas y de casos límite (blns.txt/blns.json) para pruebas de QA y seguridad de la validación de entrada de usuario, la inyección y el manejo de unicode.
The Big List of Naughty Strings es una lista en evolución de cadenas que tienen una alta probabilidad de causar problemas cuando se usan como datos de entrada del usuario. Está pensada para ayudar tanto en las pruebas de QA automatizadas como manuales; es útil siempre que tu ingeniero de QA entra en un bar.
Incluso las empresas multimillonarias con enormes cantidades de pruebas automatizadas no pueden encontrar todas las entradas incorrectas. Por ejemplo, observa lo que sucede cuando intentas tuitear un espacio de ancho cero (U+200B) en Twitter:
Aunque esto no es un error malicioso, y los usuarios típicos no tuitean unicode extraño, un "internal server error" ante una entrada inesperada nunca es una experiencia positiva para el usuario, y de hecho puede ser un síntoma de problemas más profundos de validación de cadenas. The Big List of Naughty Strings tiene como objetivo ayudar a revelar tales problemas.
blns.txt consiste en cadenas delimitadas por saltos de línea y comentarios que van precedidos por #. Los comentarios dividen las cadenas en secciones para facilitar la lectura manual y el copiar/pegar en formularios de entrada. Para quienes desean acceder a las cadenas de forma programática, se proporciona un archivo blns.json que contiene un array con todos los comentarios eliminados (la carpeta scripts contiene un script de Python usado para generar el blns.json).
No dudes en enviar un pull request para añadir más cadenas o secciones adicionales. Sin embargo, por favor no envíes pull requests con cadenas muy largas (255+ caracteres), ya que eso hace que la lista sea mucho más difícil de visualizar.
Del mismo modo, por favor no envíes pull requests que comprometan la usabilidad manual del archivo. Esto incluye la cadena de prueba EICAR, que puede provocar que el archivo sea marcado por escáneres antivirus, y archivos que alteren la codificación de blns.txt. Además, no envíes una cadena con carácter nulo (U+0000), ya que cambia el formato del archivo en GitHub a binario y lo hace ilegible en los pull requests. Por último, al añadir o eliminar una cadena, por favor actualiza todos los archivos cuando realices un pull request.
The Big List of Naughty Strings está pensada para usarse con software que tú posees y administras. Algunas de las Naughty Strings pueden indicar vulnerabilidades de seguridad y, como resultado, usar dichas cadenas con software de terceros puede ser un delito. El mantenedor no es responsable de ninguna acción negativa que resulte del uso de la lista.
Además, The Big List of Naughty Strings no es un sustituto totalmente integral de las pruebas formales de seguridad/penetración para tu servicio.
Diversas implementaciones de The Big List of Naughty Strings han llegado a varios gestores de paquetes. Esas son mantenidas por terceros, pero pueden encontrarse aquí:
Por favor abre un PR para listar otras.
Max Woolf (@minimaxir)
MIT