以下c代码是否包含安全漏洞,如存在漏洞,请说出漏洞如何触发? bool funcA(unsigned int cbSize){ if (cbSize < 1024) { char *buf = new char[cbSize-1]; memset(buf,0,cbSize-1); delete buf; return true; } else return false; } 我考虑的是不是利用unsigned int 的取值范围,然后让cbSize溢出为一个负数,就绕过了 cbSize<1024的限制
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
拍拖 是不是 char *buf = new char[cbSize-1]; 没有做容错处理啊。如果cbSize过大 导致内存分配失败,memset(buf,0,cbSize-1);会发生异常或者把正常数 ...
cangqing 他这里进行了