能力值:
( LV2,RANK:10 )
|
-
-
101 楼
谢谢~学习了!
|
能力值:
( LV2,RANK:10 )
|
-
-
102 楼
学习了..很多都不理解
|
能力值:
( LV2,RANK:10 )
|
-
-
103 楼
好像很复杂。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
104 楼
调试环境:vc6.0
|
能力值:
( LV2,RANK:10 )
|
-
-
105 楼
拜一个···················
|
能力值:
( LV2,RANK:10 )
|
-
-
106 楼
学习了,期待下一章精彩的内容!!
|
能力值:
( LV2,RANK:10 )
|
-
-
107 楼
学习了。 为什么要 strcpy(buffer,password);
|
能力值:
( LV2,RANK:10 )
|
-
-
108 楼
谢谢楼主,非常适合我们菜鸟的水平
|
能力值:
( LV2,RANK:10 )
|
-
-
109 楼
简单易懂,谢谢了!我最近才看到看雪的,觉得确实比较好!
|
能力值:
( LV2,RANK:10 )
|
-
-
110 楼
#include <stdio.h>
#include <string.h>
#define PASSWORD "1234567"
int verify_password (char *password)
{
char buffer[8]; //这里把buffer 和 authenticated定义的位置调下是否就不存在漏洞了呢?
int authenticated;
//char buffer[8]; // add local buff to be overflowed
authenticated=strcmp(password,PASSWORD);
strcpy(buffer,password); //over flowed here!
return authenticated;
}
main()
{
int valid_flag=0;
char password[1024];
while(1)
{
printf("please input password:");
scanf("%s",password);
valid_flag = verify_password(password);
if(valid_flag)
{
printf("incorrect password!\n\n");
}
else
{
printf("Congratulation! You have passed the verification!\n");
break;
}
}
}
|
能力值:
( LV2,RANK:10 )
|
-
-
111 楼
支持,为什么变量和数组的存放是
buffer[0-3]
buffer[4-7]
authenticated
而不是
authenticated
buffer[0-3]
buffer[4-7]
下面的这样就算溢出也不会得到正确的结果啊?
|
能力值:
( LV2,RANK:10 )
|
-
-
112 楼
[QUOTE=ZSYL;457059]支持,为什么变量和数组的存放是
buffer[0-3]
buffer[4-7]
authenticated
而不是
authenticated
buffer[0-3]
buffer[4-7]
下面的这样就算溢出也不会得到正确的结果啊? [/QUOTE]
因为定义的时候是先authenticated 然后buffer[],系统给变量开辟帧栈的时候是先进后出依次存放,所以先对authenticated压栈,然后对buuff[]压栈,而buffer[]分buffer[0-3]和buffer[4-7],windows系统中按搞地址向低地址存放,所以先对buffer[4-7]压栈,再对buffer[0-3]故而最终存放的是:
buffer[0-3]
buffer[4-7]
authenticated
//不知道我的理解是否正确,请各位大牛指教。
|
能力值:
( LV2,RANK:10 )
|
-
-
113 楼
我想你也许知道,因为这是常识,可能是你的大意了或者你的编译器可以包含默认的头文件,但是你没有在代码中#include <string.h>,呵呵,最近我学习bufferoverflow,正在看你的文章 ,写的真好,谢谢你~
|
能力值:
( LV5,RANK:60 )
|
-
-
114 楼
现在发现自己还是逆向技术不行啊
|
能力值:
( LV2,RANK:10 )
|
-
-
115 楼
支持了再学习~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
116 楼
把几篇教程全部下载下来了,回去看了5篇文章了,今天特地来感谢的
支持看雪,支持failwest!
大家共同进步吧,呵呵!
|
能力值:
( LV2,RANK:10 )
|
-
-
117 楼
好像明白点了,继续学习!
|
能力值:
( LV2,RANK:10 )
|
-
-
118 楼
“扫盲课程”???
呵呵,很形象!
|
能力值:
( LV2,RANK:10 )
|
-
-
119 楼
刚开始学啊!加油看!
|
能力值:
( LV2,RANK:10 )
|
-
-
120 楼
学习了,感谢
|
能力值:
( LV5,RANK:60 )
|
-
-
121 楼
没想到这么经典,越来越喜欢看雪了,希望有一天也能练就一身好功夫,也不愧看雪提供如此好的学习环境,表示感谢。
|
能力值:
( LV7,RANK:100 )
|
-
-
122 楼
不错,不过这本书我已经看过了。
|
能力值:
( LV6,RANK:90 )
|
-
-
123 楼
我还没看完,,,
|
能力值:
( LV2,RANK:10 )
|
-
-
124 楼
膜拜膜拜膜拜
|
能力值:
( LV2,RANK:10 )
|
-
-
125 楼
用了12个字符才通过。。。dev 编译的。
|
|
|