Variable asignada a objeto Injection Inink (seguridad / detectar-objeto-inyección)

7

Estoy probando mi código en ESLint. Dice:

  

Variable asignada al objeto Injection Inink (seguridad / detectar-objeto-inyección).

Sin embargo, no estoy usando un recurso externo para asignarlo a mi variable. ¿Existe realmente un problema en la línea var a = newArray[c]; ?

function shuffleTitleImagesArray(originArr) {
        var newArray = originArr.slice(0); //copy of old array
        for (var c = 0; c < newArray.length; c++) {
            var b = Math.floor(Math.random() * (c + 1));
            var a = newArray[c];
            newArray[c] = newArray[b];
            newArray[b] = a;
        }
        return newArray;
    }
    
pregunta Andy 04.10.2017 - 19:51
fuente

1 respuesta

1

No, su código es seguro. El problema aquí sería si el usuario pudiera controlar lo que está dentro de los corchetes ( c en este caso). Un atacante podría proporcionar algo inesperado, como el nombre de un método en la cadena del prototipo. Esto a su vez podría desencadenar todo tipo de comportamiento impredecible, potencialmente con implicaciones de seguridad.

Pero en tu caso, c siempre será un número, por lo que estás bien.

    
respondido por el Anders 20.03.2018 - 12:35
fuente

Lea otras preguntas en las etiquetas