"雅虎通是一款非常流行的即时通讯工具。 雅虎通在处理畸形功能请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。 雅虎通中有个名为webcam的功能。当webcam请求初始化的时候雅虎通会生成一个类(webcamclass),webcamclass会在这个地方(ywcvwr.dll)申请一段内存,这段内存的长度是0x400: .text:10001737 cmp edi, [esp+0Ch+arg_0] .text:1000173B jl short loc_10001735 .text:1000173D cmp edi, 1400000h .text:10001743 jg short loc_10001752 .text:10001745 push edi .text:10001746 call j_??2@YAPAXI@Z ; operator new(uint) .text:1000174B mov ebx, eax .text:1000174D test ebx, ebx 这段内存的用处是存放从jpc解压出来的bitmap的内容,但使用用户数据包内提供的数据来作为边界判断条件: .text:10002C5C mov [eax+2], cl ; eax是前面这个长度为0x400的buffer ………………………. .text:10002CA9 mov [eax], cl .text:10002CAB mov ecx, [ebp+var_4] .text:10002CAE add eax, [edi+5Ch] .text:10002CB1 inc esi .text:10002CB2 inc esi .text:10002CB3 cmp ecx, [edi+64h] ;bug is here .text:10002CB6 jl short loc_10002C38 [edi+64h]的内容是用户提供的pic length,只要合理的构造这个值及其它相关的值,就可以成功地实现堆溢出。 "
"雅虎通是一款非常流行的即时通讯工具。 雅虎通在处理畸形功能请求时存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。 雅虎通中有个名为webcam的功能。当webcam请求初始化的时候雅虎通会生成一个类(webcamclass),webcamclass会在这个地方(ywcvwr.dll)申请一段内存,这段内存的长度是0x400: .text:10001737 cmp edi, [esp+0Ch+arg_0] .text:1000173B jl short loc_10001735 .text:1000173D cmp edi, 1400000h .text:10001743 jg short loc_10001752 .text:10001745 push edi .text:10001746 call j_??2@YAPAXI@Z ; operator new(uint) .text:1000174B mov ebx, eax .text:1000174D test ebx, ebx 这段内存的用处是存放从jpc解压出来的bitmap的内容,但使用用户数据包内提供的数据来作为边界判断条件: .text:10002C5C mov [eax+2], cl ; eax是前面这个长度为0x400的buffer ………………………. .text:10002CA9 mov [eax], cl .text:10002CAB mov ecx, [ebp+var_4] .text:10002CAE add eax, [edi+5Ch] .text:10002CB1 inc esi .text:10002CB2 inc esi .text:10002CB3 cmp ecx, [edi+64h] ;bug is here .text:10002CB6 jl short loc_10002C38 [edi+64h]的内容是用户提供的pic length,只要合理的构造这个值及其它相关的值,就可以成功地实现堆溢出。 "