Uploaded by faniajime

SOL-HOST195-FabiolaJimenez-04

advertisement
1.
2.
3.
4.
Identificador único: SOL-HOST195-FabiolaJimenez-04
Identificador de la vulnerabilidad o error: VUL-HOST195-IvaniaCalderonMarin-10
Autor: Fabiola Jiménez González
Descripción de la solución:
Esta vulnerabilidad ya había sido solucionada previamente, no obstante, lo que es
necesario implementar en este caso es validación de que los caracteres sean ingresados sean
alfanuméricos, el procedimiento se vería de la siguiente manera en el código:
bool validateInput(string input){
if(input.length()>=100){
alertInputDenied();
}
else if (!testAlphaNumeric(input)){
alertInputDenied();
}
else{
#procesa la solicitud
}
}
bool testAlphaNumeric(string input){
for (int i = 0; input[i] != '\0'; i++)
{
if (!isalnum(str[i]))
{
return false;
}
}
}
return true;
}
void alertInputDenied(){
printHeaders(); #imprime los headers de la respuesta
Cout < "<div class='alert alert-info' role='alert'>'" <<endl;
cout << "Not a valid input, try only alphanumeric characters and
string sizes of less than 100 characters" <<endl;
cout << "</div>" <<endl;
}
Otra cosa que es necesaria y no se implementó en el código es el manejo de errores cuando
se hacen consultas a la base de datos que no entregan resultados esperados, de manera tal
que en la implementación debería manejarse como:
try{
#Consulta a la base de datos
}catch(...){
alertInputDenied();
}
5.
•
•
•
6.
Referencias:
https://cheatsheetseries.owasp.org/cheatsheets/Input_Validation_Cheat_Sheet.html
https://cplusplus.com/reference/cctype/isalnum/
https://www.techiedelight.com/check-if-a-string-contains-only-alphanumeric-charactersin-cpp/
Tiempo dedicado: 5 min.
Download