首页
社区
课程
招聘
[技术专题]软件漏洞分析入门_2_初级栈溢出A_初识数组越界
发表于: 2007-12-13 10:27 58804

[技术专题]软件漏洞分析入门_2_初级栈溢出A_初识数组越界

2007-12-13 10:27
58804
收藏
免费 7
支持
分享
最新回复 (156)
雪    币: 350
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
太好了.完全看懂中,就是2003加VS2005调不动这个.
谢谢大侠
2007-12-13 23:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
....那我把机器还原吧....刚把龙卷风的VC6.0彻底删除....还好有备份
2007-12-14 10:10
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
补上一课
认真学习
2007-12-14 10:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
晕,还不会编水仙花数阿~~~
2007-12-14 12:07
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
菜鸟,扫盲来了。学习~
2007-12-14 14:59
0
雪    币: 232
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
31
最好以后能收集在一起做个PDF
2007-12-14 15:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
膜拜!^_^学习
2007-12-14 17:29
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
33
学习学习学习
2007-12-14 18:43
0
雪    币: 332
活跃值: (30)
能力值: ( LV12,RANK:460 )
在线值:
发帖
回帖
粉丝
34
缺少头文件
#include <string.h>
2007-12-14 19:47
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
35
好多人啊,找棵树爬上去听听
2007-12-14 19:48
0
雪    币: 434
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
谢谢,学习了!楼主真是一个高人!
2007-12-16 01:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
支持了再学习~~~
2007-12-16 14:27
0
雪    币: 159
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
不会少啥。直接保存到本地test.c,然后通过microsoft visual c++ 6.0一编译立马通过。
学习,学习·
跟着大牛学习!
2007-12-17 17:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
  真郁闷啊,C语言也是自学的,自学的时候不用功啊 ,书到用时方恨少啊``
2007-12-17 22:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
一直编译不了 TC VC 全部试了``出现N多错误原因,最后 去掉头文件的预处理,还有加上头文件
#include <string.h> 才编译成功啊``晕,都怪以前自学C 的时候不努力``,但是楼主也给编译下再放代码啊 ,累死偶了``
2007-12-18 01:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
刚才又复习了一遍这一课,发现了一个问题哦,
int verify_password (char *password)
{
  int authenticated;
  char buffer[8];  // add local buff to be overflowed
  authenticated=strcmp(password,PASSWORD);
  strcpy(buffer,password);  //over flowed here!  
  return authenticated;
}
verify_password  这个函数中 buffer[8] 这个变量 好象根本没有什么实际作用啊,编写程序的人怎么会无端的把密码复制给对程序不起作用的变量类?那我们改如何去寻找这样的漏洞啊?
2007-12-19 00:53
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
42
为什么我来得这么迟
2007-12-19 04:42
0
雪    币: 2041
活跃值: (261)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
43
[QUOTE=lmcc;393362]刚才又复习了一遍这一课,发现了一个问题哦,
int verify_password (char *password)
{
  int authenticated;
  char buffer[8];  // add local buff to be overflowed
  authent...[/QUOTE]

这个例子是个样本,标本,就像泡在福尔马林里的器官,供初学者学习的,用来讲解真实漏洞利用技术的原理的。

真实的案例么,呵呵,悟空啊,不要猴急,后面会有慢慢拿出来滴,不过要一步一个脚印的走过去
2007-12-19 10:08
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
学习了,感受深刻,谢了!
2007-12-19 15:58
0
雪    币: 200
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
发现好多提供的代码不能运行:
第一课的代码改为下面才能运行:

#include <stdio.h>
#include <windows.h>
#define PASSWORD "1234567"
int verify_password (char *password)
{
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;
}

}
return 0;
}



2007-12-20 15:18
0
雪    币: 243
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
在VC9中栈不是按4字节对齐的,没发现是怎么对齐的,反正有空洞,就是忽略了GS也不行
2007-12-21 14:52
0
雪    币: 175
活跃值: (2531)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
学习,学习,再学习。
2007-12-22 17:49
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
48
这个例子在不同的机器是不是会有所不同,如小端法机与大端法机器,另外还有一个关于机器中内存分配的对齐问题,这些是不是也有一定的影响呢??
2007-12-23 12:55
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
49
win-Tc 2.1 编译测试失败!
2007-12-23 22:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
太好了
理论是需要掌握的
2007-12-23 22:32
0
游客
登录 | 注册 方可回帖
返回
//