首页
社区
课程
招聘
[求助]现在的linux内核是不是都限制缓冲区溢出了?
发表于: 2017-2-12 14:13 4109

[求助]现在的linux内核是不是都限制缓冲区溢出了?

2017-2-12 14:13
4109
这两天用linux学习缓冲区溢出,调试了几个漏洞程序,最后运行的结果都显示segment fault.
内核是linux debian 3.16
是否现在版本的linux都对缓冲区溢出程序作了防范,无法正常利用了。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 1746
活跃值: (227)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
2
segment fault 不就相当于windows的应用程序崩溃一样的道理么
2017-2-12 18:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
编了个查找esp地址的程序,每次查找输出的地址都不同,看来现在的内核都打了grsecurity补丁了。
2017-2-12 20:06
0
雪    币: 1080
活跃值: (165)
能力值: (RANK:30 )
在线值:
发帖
回帖
粉丝
5

现在的64 位 Linux 默认开启了栈保护(不可执行),so 地址随机化,传统溢出方法很难奏效。

2017-3-7 09:57
0
雪    币: 44
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是不是跟编译选项有关,前段时间还利用debian练习缓冲区溢出
2017-3-7 14:28
0
雪    币: 10885
活跃值: (3288)
能力值: (RANK:520 )
在线值:
发帖
回帖
粉丝
7

是的跟编译有关,默认的都带了栈溢出保护 和禁止栈上的数据当作代码执行 然后跟系统也有关系,系统默认的都开启了地址随机化

2017-3-9 21:27
0
雪    币: 14
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
。。。也不全是编译器,就算没开GS,如果你溢出位置定位不准确,导致溢出后ret地址无法访问或该地址不是有效的指令,也会出现segment fault错误的。
2017-3-13 11:24
0
雪    币: 389
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
如果你用的是 gcc 的话和内核关系不是很大,我调试的时候也是各种 Abort Trap,Segment Fault。建议你根据实际的程序,编译的时候加上取消部分保护的参数。 -fno-stack-protector 就可以取消 gcc 对栈的保护机制。希望可以帮助到你。
2017-3-13 22:45
0
游客
登录 | 注册 方可回帖
返回
//