提到安全,大部分在学习和调试编程语言时并不太在意,真正爆发问题是在用户端。真正的安全漏洞是很可怕的,获取系统最高权限,获得敏感资讯,伤心不已,泪流满面。
字符串
- C语言简洁自由的风格,产生一些列字符串和内存相关的脆弱API,它们看起来人畜无害,像个小白兔,实际可能转眼就被变成大灰狼,还是机器版大灰狼。strcpy直接依赖字符串结束符'\0'作为拷贝结束,恶意攻击会覆盖数据。好在有strncpy等更安全版本作为补救,事实上,它们都不安全,没有考虑目标字符串是否会溢出,strcpy_s和strncpy_s版本应运而生。