最近在exploitdb找到了一个利用SEH的漏洞实例,(网址是ec3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2W2P5s2m8D9L8$3W2@1i4K6u0V1k6r3u0Q4x3X3g2U0L8$3#2Q4x3V1k6W2P5s2m8D9L8$3W2@1M7#2)9J5c8U0b7@1y4e0j5#2i4K6u0r3i4K6u0o6i4@1f1^5i4@1u0p5i4@1q4r3i4@1f1@1i4@1u0n7i4@1t1$3i4@1f1#2i4K6V1J5i4K6S2o6i4@1f1^5i4K6R3@1i4K6W2m8i4@1f1$3i4K6W2o6i4@1q4o6i4@1f1&6i4K6R3K6i4@1u0p5i4@1f1#2i4K6W2o6i4@1p5^5i4@1f1&6i4K6R3%4i4K6S2o6i4@1f1&6i4K6W2p5i4@1p5J5i4K6t1&6i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4@1t1H3i4@1t1I4i4@1f1$3i4K6R3K6i4@1t1K6i4@1f1^5i4@1p5$3i4K6R3I4i4@1f1^5i4K6R3%4i4@1q4m8i4@1f1#2i4@1t1%4i4@1t1I4i4@1f1#2i4K6R3^5i4K6R3$3i4@1f1$3i4K6W2q4i4K6V1H3i4@1f1#2i4K6R3^5i4K6R3$3i4@1f1$3i4K6W2q4i4K6V1H3i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1#2i4K6S2m8i4@1p5H3i4@1f1$3i4@1t1%4i4@1t1I4i4@1f1@1i4@1t1^5i4K6R3H3i4@1f1@1i4@1t1^5i4K6S2n7i4@1f1%4i4K6V1H3i4K6R3$3i4@1f1^5i4@1p5%4i4@1p5K6i4@1f1K6i4K6R3H3i4K6R3J5i4@1f1$3i4@1u0o6i4K6S2r3i4@1f1$3i4@1t1@1i4K6W2q4i4@1f1$3i4@1p5H3i4K6R3%4i4@1f1&6i4@1p5J5i4K6V1^5i4@1f1$3i4K6V1^5i4@1q4r3c8h3q4K6P5b7`.`. MPEG to DVD Burner 1.7.11 SEH Local Buffer Overflow,
软件是Easy MPEG to DVD Burner 1.7.11 ,exploitdb官网上提供了下载链接,根据漏洞利用信息,“# Steps : Open the APP > click on register > Username field > just paste watever generated from python script in the txt file.”,定位到漏洞发生的模块,也就是输入用户名的地方。
首先,我们可以利用SEH机制劫持eip到我们设置的某个地址去执行特定代码,这个地址必须是可以预测的,那么“DLL have ASLR,safeSEH,rebase off”的SkinMagic.dll就成为了我们的目标。当我们成功的劫持了EIP,接下来需要做的,就是如何跳回原来的栈上执行数据了(注意这里没有开启DEP)。那么首先就应该分析此时的堆栈和寄存器环境,想想如何在SkinMagic.dll找到一段代码让自己能够跳回到溢出的栈上。这里先记录下溢出堆栈的范围0x0018A37C~0x0018A770,接下来分析分析之前生成的Evil.txt。