问题描述
以下内容来自一本关于安全 C 编码的书:
当分配的空间不足时,可能会出现漏洞来复制 程序输入,例如命令行参数。虽然 argv[0] 按照约定包含程序名称,攻击者可以控制 argv[0] 的内容导致以下程序中的漏洞 通过提供超过 128 个字节的字符串。此外,一个 攻击者可以在 argv[0] 设置为 NULL 的情况下调用这个程序:
int main(int argc,char *argv[]) {
/* ... */
char prog_name[128];
strcpy(prog_name,argv[0]);
/* ... */
}
我想问一下,如果argv[0]
是程序名称,攻击者将如何调用NULL
设置为argv[0]
的程序?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)