安全性测试——Buffer overrun
-
什么是BO?
BO的概念很容易理解,只需要C语言的基本知识就足够了。申请了一段内存,而填入的数据大于这块内存,填入的数据就覆盖掉了这段内存之外的内存了。比如,
void
foo(
char
* input)
{
char
buf[100];
|
Buffer Overrun是一种安全问题,当填充数据超出内存分配的边界时,可能导致栈上的返回地址被篡改,从而执行恶意代码。文章介绍了X86 EBP Stack Frame结构,解释了黑客如何利用BO执行控制代码。安全性测试包括白盒、黑盒和灰盒测试,其中Fuzz Test是一种有效的模糊测试技术,用于发现软件缺陷。经验分享部分提到了API和AP测试,以及使用工具如Prefast和FxCop进行安全检测。
BO的概念很容易理解,只需要C语言的基本知识就足够了。申请了一段内存,而填入的数据大于这块内存,填入的数据就覆盖掉了这段内存之外的内存了。比如,
void
foo(
char
* input)
{
char
buf[100];
|
932
612
5722

被折叠的 条评论
为什么被折叠?
