首页
社区
课程
招聘
[原创]Heap Spray 技术要点
发表于: 2012-10-9 11:50 10905

[原创]Heap Spray 技术要点

2012-10-9 11:50
10905

作者:riusksk
主页:http://riusksk.blogbus.com

1、堆喷射堆块大小 ≈ 程序堆块分配大小,以减小堆空隙大小。

2、不能使用堆缓存块,否则可能破坏地址的可预测性,可通过申请6块相应大小的堆块来清空缓存。

3、精确定位ROP地址,目标地址如0x0c0c0c0c至堆块数据起始地址的offset = ( 0x0c0c0c0c - UserPtr(堆数据起始地址))/2,IE7:0x5FA,IE8:0x5F4/0x5F6,IE9:0x5FC/0x5FE,Firefox9:0x606,可能不同语言版本会存在偏差。

4、不同系统、不同浏览器版本喷射块大小:
XP SP3 – IE7                block = shellcode.substring(2,0x10000-0×21);
XP SP3 – IE8                block = shellcode.substring(2, 0x40000-0×21);
Vista SP2 – IE7        block = shellcode.substring(0, (0x40000-6)/2);
Vista SP2 – IE8        block = shellcode.substring(0, (0x40000-6)/2);
Win7 – IE8                block = shellcode.substring(0, (0x80000-6)/2);
Vista/Win7 – IE9        block = shellcode.substring(0, (0x40000-6)/2);
XP SP3/VISTA SP2/WIN7 - Firefox9        block = shellcode.substring(0, (0x40000-6)/2);

5、Nozzle保护机制(IE):检测是否存在重复可转换成汇编代码的字段,若存在则阻止其内存申请。

6、BuBBle保护机制(Firefox):检测JavaScript是否尝试重复申请 NOPs + shellcode (padding + rop chain + shellcode + padding)的内存块,若发现包含这些字段则阻止其内存申请。

7、分配 随机数 + rop + shellcode + 随机数 的堆块,以保证各分配块都是不同的,以此绕过上述保护机制,主要针对IE9。

8、利用随机变量名 + 随机块绕过 Firefox9 的保护。

9、HTML5 Heap Spray:EUSecWest2012上的演讲主题,通杀Chrome、Firefox、IE9和Safari
a、利用canvas标签定义图形,通过脚本控制每个像素的数据再进行喷射;
b、利用Web Worker的多线程功能,加速堆喷射过程,但IE不支持Worker。


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

收藏
免费 6
支持
分享
最新回复 (9)
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
2
Flash 进行堆填充貌似很稳定样
2012-10-9 11:53
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
3
JIT spray ?
2012-10-9 12:24
0
雪    币: 859
活跃值: (309)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
4
MArK, 正在学习。。。
2012-10-9 12:41
0
雪    币: 3171
活跃值: (76)
能力值: (RANK:250 )
在线值:
发帖
回帖
粉丝
5
as喷射 跟flashplayer的版本有关系的,你编译成的目标版本会影响喷射的堆大小
2012-10-9 12:47
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
6
只进行堆填充,没有可执行权限
2012-10-9 16:05
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
7
只进行堆填充,没有可执行权限
2012-10-9 17:44
0
雪    币: 1579
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼主太牛了,什么时候能教教我们菜鸟啊
2012-10-9 18:28
0
雪    币: 310
活跃值: (159)
能力值: ( LV12,RANK:200 )
在线值:
发帖
回帖
粉丝
9
还是跟编译方式有关系吧
2012-10-10 15:08
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
看不懂啊.我晕啊...........

逐个理解下先....
2012-10-13 14:19
0
游客
登录 | 注册 方可回帖
返回
//