Certaines attaques consistent à faire le saut de programme à une adresse spécifique et continuez à courir à partir de là. Le injectec code doit être chargé précédemment en quelque sorte à un endroit précis.
Pile de randomisation et d'autres d'exécution des différences peuvent faire l'adresse où le programme va sauter impossible de prédire, de sorte que l'attaquant place une NOP sled dans une grande gamme de mémoire. Si le programme saute à n'importe où dans le traîneau, il sera exécuté tout le reste de l'Opr, à ne rien faire, et puis va exécuter le code de la charge utile, juste à côté du traîneau.
La raison pour laquelle l'attaquant utilise le NOP sled est de faire de l'adresse cible plus important: le code peut sauter n'importe où dans le traîneau, au lieu de exactement au début de l'injection de code.
128 octets NOP sled est juste un groupe d'instructions NOP 128 octets de large.
NOTE #1: NOP (No OPeration) est une instruction disponible dans la plupart (tous?) des architectures qui n'est rien d'autre que d'occupation de la mémoire et certains d'exécution.
NOTE #2: dans les architectures de longueur variable des instructions, une instruction NOP est généralement un seul octet de longueur, de sorte qu'il peut être utilisé comme une pratique d'instructions de remplissage. Malheureusement, qui le rend aussi facile à faire un NOP sled.