gpt4 book ai didi

c++ - 如何修复 fprintf 漏洞?

转载 作者:太空狗 更新时间:2023-10-29 23:25:30 25 4
gpt4 key购买 nike

在我的代码中,我使用了 fprintf。我使用 flawfinder 检查代码中的漏洞,我得到了:

358: [4] (format) fprintf: If format strings can be influenced by an attacker, they can be exploited. Use a constant for the format specification.

谁能给我解释一下Use a constant for the format specification到底是什么意思? fprintf 有安全版本吗?

最佳答案

问题是 fprintf 通过检查格式字符串来确定它应该获得多少参数。如果格式字符串与实际参数不一致,则您有未定义的行为,这可能表现为安全漏洞。

如果提供的字符串会受到程序用户的影响,问题就特别严重,因为他可以专门设计字符串,让您的程序做坏事。

C 标准中没有fprintf 的安全版本。 C++ 流避免了这个问题,代价是没有格式字符串并使用更冗长的语法来指定格式选项。

关于c++ - 如何修复 fprintf 漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20500437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com