一 直接运行网上的POC 网页
双击cve-2012-1889-test-poc.html,发现IE崩溃了,此时的崩溃信息如下:
应用程序版本: 8.0.7601.17514
应用程序时间戳: 4ce79912
故障模块名称: msxml3.dll
故障模块版本: 8.110.7601.17514
故障模块时间戳: 4ce7b8e9
异常代码: c0000005
异常偏移: 0004e2d9
二 使用windbg调试poc
由于ASLR的存在,崩溃的msxml3.dll在每次重启IE加载的时候基地址都不同,所以需要调试出每次加载的基地址。
1 双击运行cve-2012-1889-test-poc.html,然后用windbg attach,
2 此时还没有加载msxml3.dll .所以我们使用sxe ld:msxml3 断在msxml3.dll的加载,然后g ,双击IE上面的运行activieX插件。
3 windbg会断在msxml3的加载,windbg输出信息如下,
ModLoad: 72990000 72ac3000 C:\Windows\SysWOW64\msxml3.dlleax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=7ef99000 edi=03086ed8eip=77a9fc52 esp=03086dac ebp=03086e00 iopl=0 nv up ei pl zr na pe nccs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246ntdll!ZwMapViewOfSection+0x12:77a9fc52 83c404 add esp,4
从这里可以看出msxml3的基地址是72990000,这个基地址和之前调试的不一样。
才是我们断在72990000 + 0004e2d9 异常偏移的位置。