La gran lista de cadenas traviesas es una lista en evolución de cadenas que tienen una alta probabilidad de causar problemas cuando se utilizan como datos de entrada del usuario. Esto está pensado para ayudar en las pruebas de control de calidad tanto automáticas como manuales; útil cuando su ingeniero de control de calidad entra a un bar.
Incluso las empresas multimillonarias con enormes cantidades de pruebas automatizadas no pueden encontrar todos los datos incorrectos. Por ejemplo, mira lo que sucede cuando intentas twittear un espacio de ancho cero (U+200B) en Twitter:
Aunque esto no es un error malicioso y los usuarios típicos no twittean unicode extraño, un "error interno del servidor" por 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. La gran lista de hilos traviesos tiene como objetivo ayudar a revelar estos problemas.
blns.txt
consta de cadenas y comentarios delimitados por nuevas líneas precedidos por #
. Los comentarios dividen las cadenas en secciones para facilitar la lectura manual y copiar/pegar en formularios de entrada. Para aquellos que quieran acceder a las cadenas mediante programación, se proporciona un archivo blns.json
que contiene una matriz con todos los comentarios eliminados (la carpeta scripts
contiene un script Python utilizado para generar blns.json
).
No dudes en enviar una solicitud de extracción para agregar más cadenas o secciones adicionales. Sin embargo, no envíe solicitudes de extracción con cadenas muy largas (más de 255 caracteres), ya que eso hace que la lista sea mucho más difícil de ver.
Del mismo modo, no envíe solicitudes de extracción que comprometan la usabilidad manual del archivo . Esto incluye la cadena de prueba EICAR, que puede hacer que los escáneres antivirus marquen el archivo, y archivos que alteran la codificación de blns.txt
. Además, no envíe una cadena de caracteres nulos (U+0000), ya que cambia el formato del archivo en GitHub a binario y lo vuelve ilegible en las solicitudes de extracción. Finalmente, al agregar o eliminar una cadena, actualice todos los archivos cuando realice una solicitud de extracción.
La Gran Lista de Cadenas Traviesas está pensada para ser utilizada por el software que usted posee y administra . Algunas de las Naughty Strings pueden indicar vulnerabilidades de seguridad y, como resultado, el uso de 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, la Gran Lista de Cadenas Traviesas no es un sustituto completamente completo de las pruebas formales de seguridad/penetración para su servicio.
Varias implementaciones de Big List of Naughty Strings han llegado a varios administradores de paquetes. Estos son mantenidos por terceros, pero se pueden encontrar aquí:
Biblioteca | Enlace |
---|---|
Nodo | https://www.npmjs.com/package/blns |
Nodo | https://www.npmjs.com/package/big-list-of-naughty-strings |
.NETO | https://github.com/SimonCropp/NaughtyStrings |
PHP | https://github.com/mattsparks/blns-php |
C++ | https://github.com/eliabieri/blnscpp |
Abra un PR para enumerar otros.
Max Woolf (@minimaxir)
MIT