gpt4 book ai didi

c - 为什么这段代码是可利用的?

转载 作者:太空宇宙 更新时间:2023-11-04 00:13:45 25 4
gpt4 key购买 nike

为什么这个代码是不安全的?

#include <stdio.h>
int main( int argc, char *argv[] )
{
printf(argv[1]);
printf("\n");
return 0;
}

最佳答案

printf 将处理它的第一个参数,寻找诸如 %d%s 之类的东西。

基于这些值,它将从堆栈中获取更多数据并将其打印出来。

所以如果有人调用你的程序:

a.out "%d %d %d %d %d %d %d %d %d %d %d %d"

他们可以查看您计算机调用堆栈的一部分。

如果他们对格式说明符更有创意,也许他们可以丢弃一些重要的东西,比如信用卡号或密码。

关于c - 为什么这段代码是可利用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079927/

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