[Exploit][MSA01110707] Flash Player/Plugin Video file parsing Remote Code Execution POC 's

admin 2017年4月6日18:50:03评论412 views字数 1011阅读3分22秒阅读模式
摘要

Author:云舒(yunshu)
2007-07-16
http://www.ph4nt0m.org这个漏洞的分析是在这里: http://seclists.org/fulldisclosure/2007/Jul/0277.html ,luoluo做出了一个POC,晚上有空,我跟了一下,郁闷的很,在这里简单的说说。我用的是Flash player 9.0.45.0,winxp sp2中文版。

Author:云舒(yunshu)
2007-07-16
http://www.ph4nt0m.org

这个漏洞的分析是在这里: http://seclists.org/fulldisclosure/2007/Jul/0277.html ,luoluo做出了一个POC,晚上有空,我跟了一下,郁闷的很,在这里简单的说说。我用的是Flash player 9.0.45.0,winxp sp2中文版。

看了分析之后,就开始跟luoluo给的POC,第一次异常发生在这里:

3019CE18 C1E9 02 SHR ECX,2
3019CE1B 83E2 03 AND EDX,3
3019CE1E 83F9 08 CMP ECX,8
3019CE21 72 29 JB SHORT Flash9c.3019CE4C
3019CE23 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]

随后我慢慢耐心的用shift+ f7一步一步的往下走,一直走到头晕眼花的时候,终于到了这样一个有意思的地方:

300ED77D 85C9 TEST ECX,ECX
300ED77F 0F84 00070000 JE Flash9c.300EDE85
300ED785 8B01 MOV EAX,DWORD PTR DS:[ECX]
300ED787 FF50 20 CALL DWORD PTR DS:[EAX+20]

先判断ECX是否为空,不空则把ECX处的内容赋给EAX,然后call。这样如果[ECX]可控的话,就有可能能够利用了。仔细试了几次,发现 [ECX]几乎每次都不一样,但是可以确定的是,[ecx]是flv文件内的内容。一怒之下,我把开头除了文件头的格式之外的所有内容都改成了01。一跟,运气很好,蒙对了,[ECX]变成了0x01010101,也就是说下一步要执行的内容我们可以控制了。但是现在问题是,我把我的shellcode 放到哪里去了?如果把文件的内容改成shellcode,[ECX]不可控了;[ECX]一定可控,则shellcode没地方放了。

在EMM的提醒下,尝试用HeapSpray来做,可惜还是可耻的失败了。HeapSpray之后,[ECX]变了,没法控制到下一步CALL的位置……或许这个漏洞的利用办法还是把shellcode放到文件中某个特殊的位置吧,加长文件或许可以。困得不行,睡觉先。附件这个rar是控制EAX 的POC,有兴趣的看看吧。

附件:flv_9.0.45.0.rar

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月6日18:50:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [Exploit][MSA01110707] Flash Player/Plugin Video file parsing Remote Code Execution POC 'shttps://cn-sec.com/archives/46325.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息