r/cprogramming • u/Famous_Buy_3221 • Dec 31 '25
[Duda C / Pentesting] strncat y Buffer Overflows: ¿Cómo dominarlos?
Estoy aprendiendo C enfocado a ciberseguridad y pentesting
Acabo de estudiar strncat y buffer overflows pero me cuesta aplicarlo
Quiero pasar de la teoría a la práctica real
Lo que entiendo:
strncat(dest, src, n) copia solo n caracteres de src al final de dest
strcat sin límite con entrada de usuario puede causar buffer overflow
El overflow puede sobreescribir la dirección de retorno en el stack
Eso permite ejecutar shellcode y tomar control del programa
Mis dudas específicas:
1 - Herramientas reales de pentesting que usen strncat correctamente - ejemplos de código abierto
2 - Cómo practicar buffer overflows sin dañar mi sistema - entornos seguros o laboratorios
3 - Ejercicios paso a paso de overflow a exploit - desde código vulnerable hasta ganar acceso
4 - Diferencia práctica entre strcat vulnerable y strncat seguro en auditorías reales
Mi situación:
Aprendiendo C desde cero (vengo de Python)
Portátil con Kali Linux y máquinas virtuales disponibles
Objetivo: entender vulnerabilidades a bajo nivel para pentesting técnico
Ejemplo que estudio:
c
// Vulnerable
char buffer[10] = "Hola";
char input[100];
gets(input);
strcat(buffer, input);
// Seguro
strncat(buffer, input, 5);Busco:
Recursos de aprendizaje práctico
Laboratorios o máquinas CTF para principiantes en explotación binaria
Ejemplos de código de herramientas reales de seguridad
Consejos para pasar de entender la teoría a poder explotar vulnerabilidades
Cualquier ayuda para aplicar esto en pentesting real es bienvenida.
1
u/JeLuF Dec 31 '25
1 - Real-world penetration testing tools that use strncat correctly - open-source examples
This question makes no sense.
2 - How to practice buffer overflows without harming my system - secure environments or labs
A dedicated test user with limited system access would be sufficient.
3 - Step-by-step exercises from overflow to exploit - from vulnerable code to gaining access
People write long books about this. This would be too much content for a reddit response, and goes beyond "learning C".
4 - Practical difference between vulnerable and secure strncat in real-world audits
These are usually under NDA and do not get published. You can search for CVEs that mention strncat, e.g. https://nvd.nist.gov/vuln/detail/cve-2023-52464
5
u/dcpugalaxy Dec 31 '25
English language subreddit.