Jose Ortiz f0b0d511ff Initial public commit | 8 лет назад | |
---|---|---|
images | 8 лет назад | |
Makefile | 8 лет назад | |
README.md | 8 лет назад | |
UserValidation.cpp | 8 лет назад |
La validación de entradas es escencial en el desarrollo de aplicaciones seguras ya que es la primera línea de defensa de todas las aplicaciones. La gran mayoría de las vulnerabilidades en aplicaciones es debido a pobre validación de las entradas. Ejemplo de vulnerabilidades explotadas por pobre validación de entradas lo son:
Los atacantes utilizan errores en la validación de entradas para acceder a información privilegiada, para acceder a los sistemas, o para causar negación de servicios. En este laboratorio, vas a practicar a validar entradas hecha por un usuario que está creando una cuenta.
Ten en mente:
str.length()
para obtener el largo de una cadena de caracteres.Vas a estar trabajando con el archivo UserValidation.cpp
. Nota que la función main
ya esta completada. Su tarea es implementar las funciones que se necesitan para validar lo que el usuario inserta como entrada.
Para esta parte vas a implementar la función bool validateUsername(const string &username)
. Esta función recibe lo que entró el usuario como nombre de usuario.
Instrucciones
Validar que el nombre de usuario es:
isdigit()
para verificar si el carácter es un dígito)Para esta parte vas a implementar la función bool validatePassword(const string &password)
. Esta función recibe lo que el usuario entró como contraseña.
Instrucciones
Validar que la contraseña es:
isupper()
para verificar si es mayúscula)islower()
para verificar si es minúscula)Cuando termines, abre el terminal y corre make
para compilar. Usa ./UV
para correr el programa.
Input validation is esential in the development of secure applications because it is the first line of defense of every application. The vast majority of vulnerabilities in applications is due to poor input validation of the applications. Example of vulnerabilities explited by poor input validation are:
The attackers use errors in input validation to gain access to priviledged information, to gain access to systems, or to cause denial of services. In this lab, you will learn to validate all input inserted by an user who is creating an account.
Keep in mind:
str.length()
to obtain the length of a string.You will be working with the file UserValidation.cpp
. Note that the main function is already completed. Your task is to implement the functions that are needed to validate the user’s input.
For this part you will need to implement the function bool validateUsername(const string &username)
. This function receives what the user inserted as the username.
Instructions
Validate that the username is:
isdigit()
to verify if the character is a digit)For this part you will need to implement the function bool validatePassword(const string &password)
. This function receives what the user inserted as the password.
Instructions
Validate that the password is:
isupper()
to verify if the character is uppercase)islower()
to verify if the character is lowercase)After it is done, open the terminal and run make
to compile. Use ./UV
to run the program.
[1] http://cis1.towson.edu/~cssecinj/modules/cs0/input-validation-cs0-c/
[2] http://www.mrmartincurrie.com/tag/input-validation/
[3] http://www.howtogeek.com/174952/the-20-most-important-keyboard-shortcuts-for-windows-pcs/