Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security sprintf_的字符串格式漏洞_Security_Printf_String Formatting - Fatal编程技术网

Security sprintf_的字符串格式漏洞

Security sprintf_的字符串格式漏洞,security,printf,string-formatting,Security,Printf,String Formatting,在阅读了过去几个小时有关字符串格式漏洞的内容后,我仍然不确定是否可以利用下面的代码 [这是挑战] 我得到了这样的东西: sprintf_s(DstBuff, 0x400, "%s\n", input); 我正在控制输入,它是一个字符串。之后,将向用户打印DstBuff 如果我提供的输入长度大于或大于0x3FF,则应用程序崩溃 在我读过的所有文章中,都说%s“是安全的方法,但是为什么应用程序会崩溃呢?如果DstBuff长度至少为0x400,Sprintfu应该是安全的。我认为您需要向我们提供更多

在阅读了过去几个小时有关字符串格式漏洞的内容后,我仍然不确定是否可以利用下面的代码

[这是挑战]

我得到了这样的东西:

sprintf_s(DstBuff, 0x400, "%s\n", input);
我正在控制
输入
,它是一个字符串。之后,将向用户打印
DstBuff

如果我提供的输入长度大于或大于
0x3FF
,则应用程序崩溃


在我读过的所有文章中,都说
%s“
是安全的方法,但是为什么应用程序会崩溃呢?

如果DstBuff长度至少为0x400,Sprintfu应该是安全的。我认为您需要向我们提供更多的代码,以便我们了解发生崩溃的原因。我意识到发生崩溃的原因:该函数检查
输入长度
,如果该长度大于或等于
0x400-1
,则抛出
无效参数异常
。。。我似乎无法把它用到有用的东西上,也许它不是正确的攻击向量。