prinf(str)输出带来的问题

前段时间在网络安全课上学了针对printf容易出现的格式化攻击。今天就遇到了问题。

printf(str):由于printf支持可变参数,所以后续变量的个数就需要通过str中的格式化串来确定。当str串中包含%s,%d,%c等格式化串时,printf就会去栈中找这个格式化串对应的变量,但实际上,根本没有向printf压入更多的参数,这样就会出现问题。我遇到的结果就是崩溃,应该是段错误。

你可能感兴趣的:(prinf(str)输出带来的问题)