Estoy usando crack lib para comprobar la seguridad de la contraseña para mi aplicación web. Sin embargo, me preocupa si mi implementación actual es segura o no.
El usuario ingresa una contraseña, que luego se ejecuta a través del siguiente código de node.js:
var checkPassword = exec('echo "'+password+ '"| cracklib-check\n', function(err, stdout, stderr) {
if (stderr) {
reject(stderr);
} else if (err) {
reject(err);
} else if (stdout) {
resolve(stdout);
} else {
reject('Password Validation Failed');
}
});
debido a que la contraseña se está concatenando en el comando, parece un ataque como posible, algo así como la inyección de SQL. ¿Es este enfoque seguro y, de no ser así, cómo lo arreglo? Si tuviera que poner en una lista negra las comillas dobles, ¿eso evitaría todos los problemas potenciales?