puts函数

做了一个赣ctf上的题,没想到这漏洞如此简单我竟然没发现,真是浅薄了,
在此记录一下

puts()函数:

1
2
3
#include <stdio.h>

int puts(const char *s);

puts()函数的作用是持续输出字符指针s指向的字符,直到遇到空字符\0为止,

假设char s[256]s指向的内容是由用户输入的

那么用户可以输入一个长度超过256的字符串
即使机器只读取前256个字符,那么也会导致s[256]中没有\0字符,

从而使puts持续输出s以及s之后的内存内容(以字符串的形式),直到遇到\0为止

从而造成内存泄漏


puts函数
http://example.com/2024/11/01/puts函数/
作者
yvyvSunlight
发布于
2024年11月1日
许可协议