Hola.
Buenas hoy vamos a ver la explotación de un fallo de programación o bug que consiste en que un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer): Si dicha cantidad es superior a la capacidad preasignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria. Este fallo afecta a grandes organizaciones como TP-LINK todos sus routers tenían este fallo.
Este fallo suele ser por ejemplo cuando una variable tiene como límite 4 y el programa no verifica que pones más de cuatro, entonces da errores mostrando cosas que no deberían mostrarse en como sobrecargarlo.
Como en esta imagen (el límite es 8 pero no verifica que tenga más):
https://www.cloudflare.com/img/learning/security/threats/buffer-overflow/buffer-overflow-example.svg
Vídeo explicativo:
https://www.youtube.com/watch?v=ZgsgWa8sSPc&t=6s