-
-
[求助][讨论]关于MS08-021的问题!
-
发表于:
2008-10-24 22:21
3617
-
很老的洞洞了,菜鸟正在努力学习中。。。请各位指点下
从milw0rm上下载的exploit,2000下执行计算器,xp sp2下崩溃。在2000 SP4下将emf改为wmf,桌面崩溃。exploit中说需要安装MS07046,但是发现不管安装与否,漏洞模GDI32.DLL没有变化。
实验环境:
win2000 Sp4
GDI32 版本:5.00.2195.6898
google了下,说是PlayEnhMetaFileRecord函数的问题,OD附加到explorer上,下断点,跟踪发现是wcsncat出的问题:
77F65320 push dword ptr ss:[ebp+10] ;长度限制0x104
77F65323 push GDI32.77F7AAA0 ;源字符串空
77F65328 push edi ;目标空间unicode0x104
77F65329 call dword ptr ds:[<&NTDLL.wcsncpy>]
77F6532F mov esi,dword ptr ds:[<&NTDLL.wcsncat>]
77F65335 add esp,0C
77F65338 push dword ptr ss:[ebp+10] ;0x104
77F6533B push GDI32.77F5863C ;0x5c 反斜杠
77F65340 push edi
77F65341 call esi ;wcsncat
77F65343 add esp,0C
77F65346 push dword ptr ss:[ebp+10] ;0x104
77F65349 push dword ptr ss:[ebp+8] ;POC中偏移0x84开始
77F6534C push edi
77F6534D call esi ;wcsncat
由于0x104的限制,目标空间的ebp被溢出为0x00006161,也就是说我们只能控制两个字节,根本无法利用。这是怎么回事呢?
哪位调过这个洞,请指点下,快抓狂了!
谢谢啦!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)