Un exploit es una técnica, código o procedimiento que aprovecha una vulnerabilidad para conseguir un comportamiento que normalmente no debería ser posible. Por ejemplo, aprovechar una vulnerabilidad para obtener acceso a una aplicación o ejecutar una acción no autorizada.
Un payload es la acción o código que se ejecuta como resultado de la explotación. Es decir, representa lo que se quiere conseguir después de aprovechar la vulnerabilidad.
Una forma sencilla de entenderlo es:
Vulnerabilidad → Exploit → Payload → Resultado
Por ejemplo, si un sistema tiene una vulnerabilidad que permite ejecución de código, el exploit sería el mecanismo utilizado para aprovecharla, mientras que el payload sería el código que se intenta ejecutar.
En herramientas como Metasploit, estos conceptos suelen aparecer separados: el módulo de explotación aprovecha la vulnerabilidad y el payload define qué acción se realizará después.